Skip to main content
cliterminalgetting startedBYOLLMlocal-first

Getting started with the Bodega One Code CLI

Bodega One6 min read
Quick answer

The Bodega One Code CLI (the bodega command) is the terminal surface of the IDE: the same agent, the same QEL verification, driven from your shell. Install it with one line, run bodega, and you are coding. It carries its own runtime so there are no prerequisites, it runs local-first with your own models, and it shares one data directory with the desktop app, so your providers and sessions carry over. Here is the five-minute version.

Most of 2026 has been about coding agents moving into the terminal, and we shipped ours as a first-class client rather than a wrapper. If you want the wider context on why terminal agents took over, we wrote about that separately. This post is the hands-on start: install, first run, and the handful of commands you will actually use.

Install (one line)

Windows - Scoop is the recommended path (no SmartScreen prompt):

scoop install https://github.com/BodegaoneAI/bodegaone-cli-releases/releases/latest/download/bodega.json

Or the PowerShell one-liner:

irm https://github.com/BodegaoneAI/bodegaone-cli-releases/releases/latest/download/install.ps1 | iex

macOS / Linux:

curl -fsSL https://github.com/BodegaoneAI/bodegaone-cli-releases/releases/latest/download/install.sh | sh

macOS bundles are signed and notarized. Prefer to grab a binary by hand? Per-platform archives and checksums live on the release mirror; unpack anywhere and run bin/bodega. Open a new terminal after installing so your PATH picks up the command.

First run

Run bodega. On a machine that already runs the desktop app, it finds your existing providers and settings through the shared data directory, so there is no setup. On a fresh machine, a short wizard walks you through picking a provider.

Two commands make the first five minutes painless:

  • bodega doctor verifies the install end to end (runtime, backend, data directory, providers) with PASS/WARN/FAIL rows and a fix for anything red.
  • No API keys and want to stay local? bodega models recommends local models that fit your hardware, installs the runtime, and pulls one. After that you are coding fully offline.

If startup ever fails, it prints a plain-English cause and the exact command that fixes it, rather than a stack trace.

Your first task

There are two ways to drive it. For an interactive session, just run bodega and describe what you want. For a one-shot, hand it a task directly:

bodega run "add a /health endpoint and a test that hits it"

The important detail: bodega run exits with a code derived from QEL verification, not from “the model stopped typing.” A zero exit means the change actually passed the syntax, compile, and test gates. That is what makes it safe to put in a script or a pipeline.

The commands you will reach for

  • bodega - interactive session (wizard on first run).
  • bodega run "<task>" - headless one-shot; exit code follows QEL.
  • bodega models - local runtimes and models: status, pull, rm, install-runtime.
  • bodega mcp - add, edit, or remove MCP servers, or import them from another MCP client's config.
  • bodega fleet "<task>" --split N - run N attempts in parallel, each in its own isolated git worktree; QEL recommends the winner.
  • bodega session - portable session export and import (redaction-gated).
  • bodega config - typed settings against the shared store.
  • bodega self-update - check the official channel for a newer version.
  • bodega help <topic> - in-depth docs for any topic, in the terminal.

Headless, CI, and air-gap

Because the exit code follows verification, bodega run drops straight into CI: gate a step on verified work instead of on the model finishing. You can narrow what a run is allowed to touch with --deny-tools, and air-gap mode is enforced by the same shared engine as the app, so a CLI run cannot reach the network when the machine is air-gapped. No separate config, no way to accidentally punch through it from the terminal.

Fleet: several attempts at once

When a task is worth more than one shot, bodega fleet "<task>" --split 4 runs four attempts in parallel, each in an isolated worktree so they never step on each other. QEL scores the results and points you at the one that actually verified. It is the terminal version of the desktop app's Fleet.

It shares a brain with the desktop app

The CLI is not a separate product with its own settings to keep in sync. It spawns the same local backend the desktop app runs, against the same data directory. A provider key you saved in the app just works in the terminal. A session you start in the terminal shows up in your history in the app. MCP servers, spend settings, and air-gap state are shared. Install it once and use whichever surface fits the moment.

Staying current

bodega self-update checks the official release channel and tells you when a newer version is out. It never swaps the binary behind your back. Upgrade by re-running the installer, or let your package manager do it: scoop update bodega or brew upgrade bodega.

Where to go next

  1. Install the CLI and run bodega doctor to confirm it is healthy.
  2. Read the full CLI documentation for the complete command and flag reference.
  3. Bring your own model. If you are new to local models, the local LLM rankings show what runs on your hardware.

Common questions

How do I install the Bodega One Code CLI?
On Windows, Scoop is the recommended path (no SmartScreen prompt): scoop install the bodega.json manifest from the release mirror, or run the PowerShell one-liner. On macOS and Linux, pipe the install.sh script from the latest release into sh. Open a new terminal afterward so your PATH picks up the bodega command. macOS bundles are signed and notarized.
Do I need the Bodega One Code desktop app to use the CLI?
No. The CLI is a standalone install that carries its own runtime, so the bodega command works in any terminal with zero prerequisites. If you do run the desktop app, the CLI shares its data directory, so your provider keys, settings, sessions, and MCP servers carry over automatically with nothing to re-configure.
Can I use the CLI fully offline with a local model?
Yes. If you have no API keys, run bodega models and it recommends local models that fit your hardware, installs the runtime, and pulls one, after which you code fully offline. Air-gap mode is enforced by the same shared engine as the desktop app, so a CLI run cannot reach the network when the machine is air-gapped.
How does the CLI work in CI or scripts?
Use bodega run with a task in quotes for a headless one-shot. Its exit code is derived from the QEL verification result, not from whether the model finished, so a pipeline can gate on verified work. You can also restrict tool access per run with the --deny-tools flag.
Does the CLI share data with the desktop app?
Yes. The app and the CLI use one shared data directory. A provider key you saved in the app just works in the terminal, and a session you start in the terminal shows up in your history in the app. There is nothing to sync.
How do I update the CLI?
Run bodega self-update to check the official release channel; it tells you when a newer version is out and never replaces the binary behind your back. Upgrade by re-running the installer, or let your package manager handle it with scoop update bodega or brew upgrade bodega.

Written by the Bodega One team. We build Bodega One Code, the local-first AI IDE, and we write here about local models, AI costs, and what we learn shipping it. More about the team and why we build local-first on the about page.

Stay in the loop

Build-in-public updates, model picks, and Copilot/Cursor news as it breaks.

Ready to own your tools?

Beta is free and open to everyone. Download free.