CLI Tools β OmniRoute v3.8.0
v3.8.1Last updated: 2026-05-13
Was this page helpful?
Loading OmniRoute...
Last updated: 2026-05-13
Was this page helpful?
binary for server lifecycle, setup, diagnostics, and provider management.Benefits:
are generated from
. The command can write
config files automatically for the scriptable tools.
| Claude Code | ||||
| OpenAI Codex | ||||
| Factory Droid | ||||
| Open Claw | ||||
| Cursor | ||||
| Windsurf | ||||
| Cline | + VS Code ext | |||
| Kilo Code | + VS Code ext | |||
| Continue | ||||
| Antigravity | ||||
| GitHub Copilot | ) | |||
| OpenCode | ||||
| Hermes | ||||
| Amp CLI | ||||
| Kiro AI | ||||
| Qwen Code | ||||
| Custom CLI |
,
,,,,provider connections, but those are provider connections (configured under), not CLI tools. They do not surface as cards under.- MITM (Antigravity, Kiro) intercept the desktop app traffic locally and require enabling the corresponding mitm endpoint in
.
and use
. This keeps provider IDs aligned
with the CLI cards and legacy IDs.
/ / |
, , .
)
- Create API Key
- ) and select all permissions
-
# Claude Code (Anthropic) npm install -g @anthropic-ai/claude-code # OpenAI Codex npm install -g @openai/codex # OpenCode npm install -g opencode-ai # Cline npm install -g cline # KiloCode npm install -g kilocode # Qwen Code (Alibaba) npm install -g @qwen-code/qwen-code # Kiro CLI (Amazon β requires curl + unzip) apt-get install -y unzip # on Debian/Ubuntu curl -fsSL https://cli.kiro.dev/install | bash export PATH="$HOME/.local/bin:$PATH" # add to ~/.bashrc
Verify:
claude --version # 2.x.x codex --version # 0.x.x opencode --version # x.x.x cline --version # 2.x.x kilocode --version # x.x.x (or: kilo --version) qwen --version # x.x.x kiro-cli --version # 1.x.x
(or ), then run :
# OmniRoute Universal Endpoint export OPENAI_BASE_URL="http://localhost:20128/v1" export OPENAI_API_KEY="sk-your-omniroute-key" export ANTHROPIC_BASE_URL="http://localhost:20128" export ANTHROPIC_AUTH_TOKEN="sk-your-omniroute-key" export GEMINI_BASE_URL="http://localhost:20128/v1" export GEMINI_API_KEY="sk-your-omniroute-key"
remote server replace with the server IP or domain,
e.g. .
# Create ~/.claude/settings.json:
mkdir -p ~/.claude && cat > ~/.claude/settings.json << EOF
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:20128",
"ANTHROPIC_AUTH_TOKEN": "sk-your-omniroute-key"
}
}
EOF
here.
Test:
mkdir -p ~/.codex && cat > ~/.codex/config.yaml << EOF model: auto apiKey: sk-your-omniroute-key apiBaseUrl: http://localhost:20128/v1 EOF
Test:
mkdir -p ~/.config/opencode && cat > ~/.config/opencode/opencode.json << EOF
{
"\$schema": "https://opencode.ai/config.json",
"provider": {
"omniroute": {
"npm": "@ai-sdk/openai-compatible",
"name": "OmniRoute",
"options": {
"baseURL": "http://localhost:20128/v1",
"apiKey": "sk-your-omniroute-key"
},
"models": {
"claude-sonnet-4-5": { "name": "claude-sonnet-4-5" },
"claude-sonnet-4-5-thinking": { "name": "claude-sonnet-4-5-thinking" },
"gemini-3-flash": { "name": "gemini-3-flash" }
}
}
}
}
EOF
Test:
to send thinking variants.
CLI mode:
mkdir -p ~/.cline/data && cat > ~/.cline/data/globalState.json << EOF
{
"apiProvider": "openai",
"openAiBaseUrl": "http://localhost:20128/v1",
"openAiApiKey": "sk-your-omniroute-key"
}
EOF
VS Code mode:
Cline extension settings β API Provider: β Base URL:
CLI Tools β Cline β Apply Config.
CLI mode:
kilocode --api-base http://localhost:20128/v1 --api-key sk-your-omniroute-key
VS Code settings:
{
"kilo-code.openAiBaseUrl": "http://localhost:20128/v1",
"kilo-code.apiKey": "sk-your-omniroute-key"
}
CLI Tools β KiloCode β Apply Config.
:
models:
- name: OmniRoute
provider: openai
model: auto
apiBase: http://localhost:20128/v1
apiKey: sk-your-omniroute-key
default: true
# Login to your AWS/Kiro account: kiro-cli login # The CLI uses its own auth β OmniRoute is not needed as backend for Kiro CLI itself. # Use kiro-cli alongside OmniRoute for other tools. kiro-cli status
Kiro IDE desktop app, use the MITM endpoint exposed by OmniRoute
under .
.
/ / / / /
providers instead.
Option 1: Environment variables ()
mkdir -p ~/.qwen && cat > ~/.qwen/.env << EOF OPENAI_API_KEY="sk-your-omniroute-key" OPENAI_BASE_URL="http://localhost:20128/v1" OPENAI_MODEL="auto" EOF
Option 2: with
// ~/.qwen/settings.json
{
"security": {
"auth": {
"selectedType": "openai",
"apiKey": "sk-your-omniroute-key",
"baseUrl": "http://localhost:20128/v1"
}
},
"model": {
"name": "claude-sonnet-4-6"
}
}
Option 3: Inline CLI flags
OPENAI_BASE_URL="http://localhost:20128/v1" \ OPENAI_API_KEY="sk-your-omniroute-key" \ OPENAI_MODEL="auto" \ qwen
remote server replace with the server IP or domain.
Test:
Note: Cursor routes requests through its cloud. For OmniRoute integration, enable Cloud Endpoint in OmniRoute Settings and use your public domain URL.
Settings β Models β OpenAI API Key
// Hermes config file
{
"provider": {
"type": "openai",
"baseURL": "http://localhost:20128/v1",
"apiKey": "sk-your-omniroute-key",
"model": "claude-sonnet-4-6"
}
}
export OPENAI_API_KEY="sk-your-omniroute-key" export OPENAI_BASE_URL="http://localhost:20128/v1" amp --model "claude-sonnet-4-6" # Suggested shorthand aliases you can map locally: # g25p -> gemini/gemini-2.5-pro # g25f -> gemini/gemini-2.5-flash # cs45 -> cc/claude-sonnet-4-5-20250929 # g54 -> gemini/gemini-3.1-pro-high
Droid and Open Claw are AI agents built directly into OmniRoute β no installation needed. They run as internal routes and use OmniRoute's model routing automatically.
binary (installed via or bundled
with the desktop app) provides commands beyond running the server. The full
matrix is implemented in:
)
- β Commander program builder
- β one file per command/group, registered in
- β output formatters (json/jsonl/table/csv)
- β withRuntime helper (server-first/db-fallback)
- β t() helper with locales
omniroute # Start server (default port 20128) omniroute --port 3000 # Override port omniroute --no-open # Don't auto-open browser omniroute --mcp # Start as MCP server (stdio transport) omniroute serve # Same as `omniroute` omniroute stop # Stop the running server omniroute restart # Restart the server omniroute dashboard # Open dashboard in default browser omniroute open # Alias for `dashboard` omniroute --version # Print version omniroute --help # Show all commands
omniroute setup # Interactive setup wizard omniroute setup --non-interactive # CI/automation mode (reads env vars + flags) omniroute setup --password '<value>' # Set admin password directly omniroute setup --add-provider \ --provider openai \ --api-key '<value>' \ --test-provider # Add and test a provider in one shot
, ) |
|
omniroute doctor # Check config, DB, ports, runtime, memory, liveness omniroute doctor --json # Machine-readable JSON omniroute doctor --no-liveness # Skip the HTTP health probe omniroute doctor --host 0.0.0.0 # Override liveness host omniroute doctor --liveness-url <url> # Full health endpoint URL override
, , ,
, , (better-sqlite3),
, and . It exits non-zero if any check is .
omniroute providers available # OmniRoute provider catalog omniroute providers available --search openai # Filter catalog by id/name/alias/category omniroute providers available --category api-key # Filter by category (api-key, oauth, free, ...) omniroute providers available --json # Machine-readable JSON omniroute providers list # Configured provider connections omniroute providers list --json omniroute providers test <id|name> # Test one configured connection omniroute providers test-all # Test every active connection omniroute providers validate # Local-only structural validation
reads the OmniRoute catalog;
read the local SQLite database directly and do not require the server to be running.
omniroute reset-password # Reset the admin password (legacy alias still works) omniroute reset-encrypted-columns # Show warning + dry-run for encrypted credential reset omniroute reset-encrypted-columns --force # Actually null out encrypted credentials in SQLite
omniroute status # Comprehensive runtime status omniroute logs # Stream request logs (--json, --search, --follow) omniroute config show # Display current configuration omniroute provider list # List available providers (alias of providers list) omniroute provider add # Register OmniRoute as a provider on a tool omniroute keys add | list | remove # Manage API keys omniroute models [provider] # List models (--json, --search) omniroute combo list | switch | create | delete omniroute backup # Snapshot config + DB omniroute restore # Restore from a previous snapshot omniroute health # Detailed health (breakers, cache, memory) omniroute quota # Provider quota usage omniroute cache # Cache status omniroute cache clear # Clear semantic + signature caches omniroute mcp status | restart # MCP server status / restart omniroute a2a status | card # A2A server status / agent card omniroute tunnel list | create | stop # Manage tunnels (cloudflare/tailscale/ngrok) omniroute env show | get <k> | set <k> <v> # Inspect / set env vars (temporary) omniroute test # Provider connectivity smoke test omniroute update # Check for updates omniroute completion # Generate shell completion
, |
|
, |
or |
||
or check |
||
| reports SQLite incompatible | ||
reports missing |
or |
cat > my-setup.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
# === Edit these ===
OMNIROUTE_URL="http://localhost:20128/v1"
OMNIROUTE_ANTHROPIC_URL="http://localhost:20128"
OMNIROUTE_KEY="sk-your-omniroute-key"
# ==================
# 1. Install the external CLIs
npm install -g \
@anthropic-ai/claude-code \
@openai/codex \
opencode-ai \
cline \
kilocode \
@qwen-code/qwen-code
# 2. Optional: Kiro CLI (needs unzip)
if ! command -v unzip >/dev/null 2>&1; then
sudo apt-get install -y unzip
fi
curl -fsSL https://cli.kiro.dev/install | bash
# 3. Write the per-tool config files
mkdir -p ~/.claude ~/.codex ~/.config/opencode ~/.continue ~/.qwen
cat > ~/.claude/settings.json <<JSON
{
"env": {
"ANTHROPIC_BASE_URL": "${OMNIROUTE_ANTHROPIC_URL}",
"ANTHROPIC_AUTH_TOKEN": "${OMNIROUTE_KEY}"
}
}
JSON
cat > ~/.codex/config.yaml <<YAML
model: auto
apiKey: ${OMNIROUTE_KEY}
apiBaseUrl: ${OMNIROUTE_URL}
YAML
cat > ~/.qwen/.env <<ENV
OPENAI_API_KEY="${OMNIROUTE_KEY}"
OPENAI_BASE_URL="${OMNIROUTE_URL}"
OPENAI_MODEL="auto"
ENV
# 4. Append global env vars (idempotent guard)
if ! grep -q "OmniRoute Universal Endpoint" ~/.bashrc 2>/dev/null; then
cat >> ~/.bashrc <<ENV
# OmniRoute Universal Endpoint
export OPENAI_BASE_URL="${OMNIROUTE_URL}"
export OPENAI_API_KEY="${OMNIROUTE_KEY}"
export ANTHROPIC_BASE_URL="${OMNIROUTE_ANTHROPIC_URL}"
export ANTHROPIC_AUTH_TOKEN="${OMNIROUTE_KEY}"
ENV
fi
# 5. Validate via the internal CLI
omniroute doctor || true
omniroute providers list || true
echo "All CLIs installed and configured for OmniRoute"
EOF
chmod +x my-setup.sh
./my-setup.sh