Skip to content
GitHub stars

Supported Agents

roborev supports multiple AI coding agents and auto-detects which ones are installed.

AgentCLI CommandInstall
Codexcodexnpm install -g @openai/codex
Claude Codeclaudenpm install -g @anthropic-ai/claude-code
Geminiagy or geminicurl -fsSL https://antigravity.google/cli/install.sh | bash (preferred) or npm install -g @google/gemini-cli
Copilotcopilotnpm install -g @github/copilot
CursoragentSee cursor.com/cli
OpenCodeopencodenpm install -g opencode-ai@latest (anomalyco/opencode)
DroiddroidSee factory.ai
Kilokilonpm install -g @kilocode/cli
Kirokiro-cliSee kiro.dev
Pipinpm install -g @mariozechner/pi-coding-agent

roborev auto-detects installed agents and falls back in this order:

  1. Codex
  2. Claude Code
  3. Gemini
  4. Copilot
  5. OpenCode
  6. Cursor
  7. Kiro
  8. Kilo
  9. Droid
  10. Pi

The first available agent is used unless you specify one explicitly.

Terminal window
roborev review --agent claude-code <sha>
roborev run --agent codex "Explain this code"
roborev refine --agent gemini
.roborev.toml
agent = "claude-code"
~/.roborev/config.toml
default_agent = "codex"

You can override the default model for any agent using the --model / -m flag:

Terminal window
roborev review --model gpt-4.1 <sha>
roborev refine --model claude-sonnet-4-20250514
AgentModel FormatExample
CodexOpenAI model namegpt-4.1, o3-mini
Claude CodeAnthropic model nameclaude-sonnet-4-20250514, claude-opus-4-20250514
GeminiGoogle model namegemini-2.5-pro, gemini-2.5-flash
CopilotOpenAI model namegpt-4.1
CursorModel nameclaude-sonnet-4-20250514, gpt-4.1
OpenCodeprovider/modelanthropic/claude-sonnet-4-20250514, openai/gpt-4.1
DroidFactory model name(see Factory.ai docs)
Kiloprovider/modelanthropic/claude-sonnet-4-20250514, openai/gpt-4.1
KiroModel name(see Kiro docs)
PiModel nameclaude-sonnet-4-20250514, gpt-4.1

Set a default model globally or per-repository:

~/.roborev/config.toml
default_model = "claude-sonnet-4-20250514"
.roborev.toml
model = "gpt-4.1" # Override for this repo

Model resolution priority: CLI flag > per-repo config > global config > agent default.

The claude-code agent accepts a model spec of the form <model>@<base_url>. When <base_url> starts with http:// or https://, roborev points Claude Code at that endpoint and pins all tier aliases (Opus, Sonnet, Haiku, subagent) to the given model. This lets you use local runtimes (Ollama, LM Studio) or gateways (LiteLLM, OpenRouter) that expose an Anthropic-compatible API.

# .roborev.toml: local Ollama for reviews, real Anthropic for fixes
agent = "claude-code"
review_model = "glm-5.1:cloud@http://127.0.0.1:11434"
fix_model = "sonnet"

Or per invocation:

Terminal window
roborev review --model 'glm-5.1:cloud@http://127.0.0.1:11434'

A bare proxy spec (@http://... with no model) is rejected with an error. The full URL (including any path or query string) is forwarded as-is to ANTHROPIC_BASE_URL, so include the path your gateway expects. For example, LiteLLM typically wants a trailing /v1, while Ollama wants no path.

Set ROBOREV_CLAUDE_PROXY_TOKEN in your environment to forward a bearer token to the proxy as ANTHROPIC_AUTH_TOKEN. If unset, roborev sends a placeholder token, which is sufficient for gateways that do not validate the header (such as Ollama).

roborev does not forward anthropic_api_key (or ANTHROPIC_API_KEY) to proxy endpoints. Doing so would leak a real Anthropic credential to arbitrary third parties.

  • Proxy URLs must not embed user:pass@ credentials. Use ROBOREV_CLAUDE_PROXY_TOKEN instead.
  • http:// is only accepted for loopback hosts (127.0.0.1, ::1, localhost), so plaintext tokens can’t be sent over the wire. Use https:// for remote proxies.

The Gemini agent works with either the Antigravity agy CLI or the legacy gemini CLI. Google has deprecated the legacy CLI, so roborev prefers agy when both are installed and falls back to gemini otherwise.

Terminal window
# Preferred: Antigravity CLI
curl -fsSL https://antigravity.google/cli/install.sh | bash
# Legacy CLI (still supported)
npm install -g @google/gemini-cli

Antigravity runs in --print mode with the prompt piped over stdin. Review jobs get --sandbox; agentic jobs get --dangerously-skip-permissions.

Antigravity does not currently accept a --model flag, so:

  • If both agy and gemini are installed, any --model override automatically reroutes to gemini.
  • If only agy is installed, an explicit --model returns an error so the override is not silently ignored.

If you rely on model selection and want to keep using gemini exclusively, install only the legacy CLI or shadow agy on your PATH with a wrapper that exec’s gemini.

Pi can run normal review jobs and can also serve as the auto design-review classifier. roborev uses Pi’s JSON schema output extension for classifier jobs. The default extension source is npm:@nqbao/pi-json-schema@0.1.1.

Install the default extension in Pi:

Terminal window
pi install npm:@nqbao/pi-json-schema

roborev still passes the configured extension source explicitly when it invokes classifier jobs. Installing it in Pi makes setup visible in pi list and avoids runtime package-fetch surprises in offline or locked-down environments.

Override the extension source in global config if you vendor or mirror it:

[agent.pi]
jsonschemaextension = "/opt/roborev/pi-json-schema/index.ts"

See Pi Classifier Options.

Different agents have different levels of support for agentic mode (file edits and commands):

AgentAgentic Support
CodexFull (uses --dangerously-bypass-approvals-and-sandbox)
Claude CodeFull (uses --dangerously-skip-permissions)
Gemini (Antigravity)Full (uses --dangerously-skip-permissions)
Gemini (legacy)Full (uses --yolo and --allowed-tools)
CopilotLimited (requires manual approval for actions)
CursorFull (uses --yolo flag)
OpenCodeFull (auto-approves in non-interactive mode)
DroidFull (runs autonomously)
KiloFull (runs autonomously)
KiroFull (uses --trust-all-tools)
PiFull (tools execute without confirmation)

See Custom Tasks & Agentic Mode for details on review vs agentic modes.

ACP lets you integrate any agent that speaks the Agent Client Protocol, even if roborev doesn’t have a built-in adapter for it. Configure an ACP agent in the [acp] section of ~/.roborev/config.toml:

[acp]
name = "codex-acp"
command = "codex-acp"

Once configured, the ACP agent can be selected with --agent <name>.

See the Agent Client Protocol (ACP) guide for setup examples, the full configuration reference, mode negotiation, and troubleshooting.