Start Claude Code, Codex CLI, Gemini CLI and other coding agents on EmpirioLabs AI models with one command. Your agents' own settings stay as they are: empirio connects each session when it starts.
empirio # pick an agent and a model
empirio claude # start Claude Code
empirio codex -m <model>
empirio run generate_image prompt="a lighthouse at dusk"empirio run runs any EmpirioLabs AI tool from the command line, such as image
and video generation (Run tools).
macOS and Linux:
curl -fsSL https://empiriolabs.ai/install.sh | shWindows (PowerShell):
irm https://empiriolabs.ai/install.ps1 | iexThe installers check every download against the release's signed SHA256SUMS
(verifying a release). You can
also download an archive for your platform from
Releases and put empirio on
your PATH, or build from source with Go: go install github.com/EmpirioLabs-AI/cli/cmd/empirio@latest.
empirio loginThis opens your browser to approve the connection. The computer then appears
under Settings > Connected applications on the
platform, where you can disconnect it at any
time. Signing in on a computer without a browser, such as over SSH:
empirio login --no-browser. To use an API key instead, run
empirio login --key, or set EMPIRIOLABS_API_KEY, which always takes
precedence.
| Agent | Command | EmpirioLabs AI tools | Install |
|---|---|---|---|
| Claude Code | empirio claude |
yes | curl -fsSL https://claude.ai/install.sh | bashWindows: irm https://claude.ai/install.ps1 | iex |
| Codex CLI | empirio codex |
yes | npm install -g @openai/codexmacOS: brew install --cask codex |
| OpenCode | empirio opencode |
yes | curl -fsSL https://opencode.ai/install | bashWindows: npm install -g opencode-ai |
| Gemini CLI | empirio gemini |
no | npm install -g @google/gemini-cli |
| Qwen Code | empirio qwen |
yes | npm install -g @qwen-code/qwen-code |
| Crush | empirio crush |
yes | npm install -g @charmland/crushmacOS: brew install charmbracelet/tap/crushWindows: winget install charmbracelet.crush |
| Kilo CLI | empirio kilo |
yes | npm install -g @kilocode/cli |
| Aider | empirio aider |
no | curl -LsSf https://aider.chat/install.sh | shWindows: powershell -ExecutionPolicy ByPass -c "irm https://aider.chat/install.ps1 | iex" |
| goose | empirio goose |
no | curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bashWindows: Invoke-WebRequest -Uri "https://raw.githubusercontent.com/aaif-goose/goose/main/download_cli.ps1" -OutFile download_cli.ps1; .\download_cli.ps1 |
| OpenHands CLI | empirio openhands |
no | uv tool install openhands --python 3.12 |
| Factory Droid | empirio droid |
no | curl -fsSL https://app.factory.ai/cli | shWindows: irm https://app.factory.ai/cli/windows | iex |
Arguments after the agent's name go to the agent, so empirio claude -p "explain this repo" and empirio codex exec "add tests" work as they do without empirio.
empirio agents --json prints this list.
The model list comes from the live EmpirioLabs AI catalog, so new models appear without an update. Each agent starts on your default model, or the catalog's when you have not chosen one, and shows only the models it can run.
empirio models # every model with its context and prices
empirio models --agent codex # the models Codex CLI can run
empirio model <model> # make a model your default
empirio claude -m <model> # one session on another modelAgents with a model for quick background work (titles, summaries) get the
lowest-cost featured model by the same author; --fast-model <id> picks another.
Agents marked "yes" under "EmpirioLabs AI tools" in the table above also get the
EmpirioLabs AI MCP server with the same key. A
session gets the toolsets of the server's coding-agents profile, which the
server defines; the CLI docs
list every toolset and the ones in the default. A tool call is billed like the
same API request.
empirio claude --tools all # every toolset, with GPU Cloud and hosted agents, which bill while they run
empirio codex --tools search+media # only these toolsets
empirio gemini --tools none # no EmpirioLabs AI toolsToolsets named with --tools are checked against the ones the server publishes.
EMPIRIO_TOOLS sets the same for every session. The server is added next to the
agent's own MCP servers for that session only, and a server you already named
empiriolabs is used instead.
empirio run runs any EmpirioLabs AI tool directly: image, video, audio and 3D
generation, image editing, speech and transcription, web search, chat, the model
catalog, jobs, your balance, GPU Cloud and hosted agents. empirio tools lists
the tools your account can run. The list comes from the
EmpirioLabs AI MCP server, so new tools are
available without an update.
empirio tools # every tool, by toolset
empirio tools media # the tools of one toolset
empirio tools generate_image # one tool's arguments
empirio run generate_image prompt="a lighthouse at dusk" model=flux-2-klein-4b
empirio run list_models modality=video limit=5
empirio run get_account_usageArguments are name=value pairs, typed by the tool: numbers, true or false,
and JSON for lists and objects (image='["https://example.com/a.png"]'; one value
is enough for a list of text). --json '{"prompt": "..."}' passes the arguments
as one object, and --stdin reads that object from standard input. A missing or
unknown argument is reported before the tool runs.
Images, video, audio and 3D models a tool returns are saved in the current folder
under new file names, which are printed (--out <dir> saves them elsewhere,
--no-download skips them). A generation that is still running is followed until
it finishes, for up to 10 minutes (--wait <seconds>; --wait 0 returns the job
ID at once). Check on a job later with empirio run get_job job_id=<id>.
--json-output prints the whole result as JSON. A tool call is billed like the
same API request; GPU Cloud and hosted agents keep billing while they run.
| Command | |
|---|---|
empirio |
Choose an agent and a model, then start it |
empirio <agent> [-m <model>] [args] |
Start an agent; other arguments go to the agent |
empirio <agent> --tools <set> |
Choose the EmpirioLabs AI tools: default, all, none, or toolsets joined by + |
empirio <agent> --print-env |
Show what the agent would receive, with the key masked |
empirio login / logout |
Sign in or out; logout also disconnects a browser sign-in |
empirio models / model |
List models, show or set your default |
empirio tools [<toolset> | <tool>] |
List the EmpirioLabs AI tools you can run, or one tool's arguments |
empirio run <tool> [name=value ...] |
Run a tool and save the images, video, audio and 3D models it returns |
empirio doctor |
Check your sign-in, the API and your agents |
empirio agents [--json] |
List the agents empirio can start |
empirio update |
Update empirio |
empirio uninstall |
Remove empirio and its saved settings |
empirio passes the connection to an agent for that session only. It does not edit
~/.claude, ~/.codex, ~/.gemini or any other agent's settings. Where an agent
saves a setting of its own during a session, empirio puts back the value it found
when the session ends. empirio keeps its own settings and your key in
%APPDATA%\empirio on Windows and ~/.config/empirio elsewhere
(EMPIRIO_CONFIG_DIR to change it).
See SECURITY.md for how the key is handled and how to verify a release.