| name | omniroute-cli-admin |
| description | Manage the OmniRoute server lifecycle via CLI — start/stop/restart, non-interactive setup, diagnostics (omniroute doctor), backup/restore, autostart, and tunnel management. Use when the user wants to operate the OmniRoute server, automate provisioning, or troubleshoot the runtime. |
OmniRoute — CLI Admin
Requires the omniroute CLI. See CLI entry-point skill for install + global flags.
Server lifecycle
omniroute
omniroute serve
omniroute --port 3000
omniroute --no-open
omniroute --mcp
omniroute stop
omniroute restart
omniroute dashboard
omniroute open
omniroute status
Setup & provisioning
Interactive wizard
omniroute setup
Non-interactive (CI / Docker)
omniroute setup --non-interactive \
--password 'admin-password' \
--add-provider \
--provider openai \
--api-key 'sk-...' \
--test-provider
Environment variables for non-interactive setup:
| Variable | Purpose |
|---|
OMNIROUTE_SETUP_PASSWORD | Admin password (≥8 chars) |
OMNIROUTE_PROVIDER | Provider id (e.g. openai, anthropic) |
OMNIROUTE_PROVIDER_NAME | Display name for the connection |
OMNIROUTE_PROVIDER_BASE_URL | Optional OpenAI-compatible base URL override |
OMNIROUTE_API_KEY | Provider API key |
OMNIROUTE_DEFAULT_MODEL | Optional default model |
DATA_DIR | Override OmniRoute data directory |
Diagnostics
omniroute doctor
omniroute doctor --json
omniroute doctor --no-liveness
omniroute doctor --host 0.0.0.0
omniroute doctor --liveness-url <url>
Checks performed: Config, Database, Storage/encryption, Port, Node runtime, Native binary (better-sqlite3), Memory, Server liveness.
Exit code is non-zero if any check fails — useful in CI:
omniroute doctor --json | jq '.checks[] | select(.status=="fail")'
Backup & restore
omniroute backup
omniroute restore
Autostart (system tray / startup)
omniroute autostart enable
omniroute autostart disable
omniroute autostart status
On Linux: creates a systemd user unit. On macOS: LaunchAgent plist. On Windows: registry startup entry.
Tunnels (public URL)
Expose a local OmniRoute instance via a secure tunnel:
omniroute tunnel list
omniroute tunnel create cloudflare
omniroute tunnel create tailscale
omniroute tunnel create ngrok
omniroute tunnel stop <id>
The tunnel URL is printed and can be used as OMNIROUTE_BASE_URL from remote machines.
Config & environment
omniroute config show
omniroute env show
omniroute env get <KEY>
omniroute env set <KEY> <value>
Recovery
omniroute reset-password
omniroute reset-encrypted-columns
omniroute reset-encrypted-columns --force
Use reset-encrypted-columns --force only if STORAGE_ENCRYPTION_KEY was lost and you need to re-enter all provider API keys.
Logs
omniroute logs
omniroute logs --json
omniroute logs --search <term>
omniroute logs --follow
Update
omniroute update
Errors
doctor shows STORAGE_ENCRYPTION_KEY missing → set the key in .env or run reset-encrypted-columns --force to wipe and re-enter credentials
doctor reports native binary fail → npm rebuild better-sqlite3 in the OmniRoute app directory
tunnel create cloudflare hangs → ensure cloudflared is installed: brew install cloudflare/cloudflare/cloudflared