# OmniRoute CLI Commands: Complete Guide to the omniroute Binary Options

> Explore over 70 OmniRoute CLI commands for server control and provider setup. Discover the full omniroute binary options and streamline your workflow today.

- Repository: [Diego Rodrigues de Sa e Souza/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
- Tags: how-to-guide
- Published: 2026-08-03

---

**The `omniroute` binary provides 70+ CLI commands ranging from server control to provider setup, all located in `bin/cli/commands/*.mjs` and registered automatically by filename.**

The OmniRoute project's command-line interface is built on a modular architecture where each JavaScript module becomes a top-level sub-command. This design makes the CLI highly extensible—adding a new command requires only a new file in the commands directory. The following guide covers every available command in release v3.8.50, organized by functional category.

## How OmniRoute CLI Commands Work

The command discovery mechanism lives in `bin/cli/program.mjs`. This entry point scans `bin/cli/commands/*.mjs` and registers each file as a sub-command named after its basename (minus the `.mjs` extension). Command implementations export their arguments, description, and handler function.

```bash

# Generic invocation pattern

omniroute <command> [options]

# Get help for any command

omniroute <command> --help

```

## Server Lifecycle Commands

Control the OmniRoute API server with these core commands:

- **`serve`** — Starts the Next.js API server (primary entry point). Defined in `bin/cli/commands/serve.mjs`, this launches the main HTTP endpoint that handles all routing requests.
- **`status`** — Displays health status of running OmniRoute instances. Queries the `/health` endpoint and reports component readiness.
- **`stop`** — Gracefully terminates a running OmniRoute process.
- **`restart`** — Restarts the service, applying configuration changes without manual stop/start.
- **`launch`** — Starts a new instance with a custom configuration file.
- **`launch-codex`** — Convenience wrapper for launching a GitHub Copilot (Codex) specific instance.

## Diagnostics and Monitoring

Troubleshoot and observe system behavior:

- **`doctor`** — Runs a comprehensive diagnostic suite to detect configuration errors, missing dependencies, and common setup issues.
- **`health`** — Performs a quick health check on internal components (shorter than `status`).
- **`logs`** — Streams recent log entries from the OmniRoute logger with filtering options.
- **`runtime`** — Displays runtime information including Node.js version, dependency versions, and environment flags.

## Authentication and Security

Manage access credentials and policies:

- **`login`** — Authenticates the CLI against an OmniRoute server and persists API keys to local storage. Implemented in `bin/cli/commands/login.mjs`.
- **`keys`** — Lists, creates, or revokes API keys for programmatic access.
- **`tokens`** — Displays current authentication tokens or refreshes expired credentials.
- **`policy`** — Views and updates routing policies and quota enforcement rules.
- **`oauth`** — Handles OAuth-based provider authentication flows and token refresh.

## Provider Management

Interact with AI model providers and their configurations:

- **`providers`** — Lists all registered providers with their capabilities and connection status.
- **`provider-cmd`** — Executes provider-specific custom commands for advanced configuration.
- **`models`** — Enumerates available models for a specified provider.
- **`pricing`** — Retrieves and displays current pricing information from providers.
- **`usage`** — Reports detailed usage statistics including token consumption and request counts.
- **`quota`** — Shows current quota limits and consumption against limits.
- **`test-provider`** — Runs a health probe against a provider endpoint to verify connectivity.

## Provider Setup Commands

OmniRoute includes dedicated setup wizards for popular AI coding assistants and providers. Each command in `bin/cli/commands/setup-*.mjs` guides through provider-specific authentication and configuration:

| Command | Target Provider |
|---------|---------------|
| `setup-aider` | Aider AI assistant |
| `setup-claude` | Anthropic Claude |
| `setup-cline` | Cline VS Code extension |
| `setup-codex` | GitHub Copilot / Codex |
| `setup-continue` | Continue.dev extension |
| `setup-cursor` | Cursor editor |
| `setup-crush` | Crush AI |
| `setup-goose` | Goose AI |
| `setup-kilo` | Kilo code assistant |
| `setup-opencode` / `setup-open-code` | Generic OpenAI-compatible endpoints |
| `setup-qwen` | Alibaba Qwen models |
| `setup-roo` | Roo Code assistant |

## Advanced Features and Extensions

Access specialized OmniRoute capabilities:

- **`skills`** — Lists, enables, disables, or executes built-in skills from `src/lib/skills/`.
- **`memory`** — Manages persistent conversational memory (add entries, list history, clear storage).
- **`mcp`** — Interacts with the Model Control Protocol server for advanced orchestration.
- **`plugin`** — Manages plugins: install, enable, disable, and list installed extensions.
- **`translator`** — Converts between provider API formats (e.g., OpenAI ↔ Anthropic Claude request schemas).
- **`sim` / `simulate`** — Simulates requests against providers for debugging without actual API calls.
- **`stream`** — Sends streaming (Server-Sent Events) requests to providers and displays real-time output.

## Infrastructure and Networking

Configure deployment topology and connectivity:

- **`nodes`** — Displays node topology for distributed OmniRoute deployments.
- **`tunnel`** — Manages tunnel services (Cloudflare Tunnel, ngrok, etc.) for exposing local instances.
- **`oneproxy`** — Controls the built-in one-proxy transport layer.
- **`redis`** — Interacts with the optional Redis cache layer for rate limiting and session storage.
- **`webhooks`** — Lists, creates, and tests webhook endpoints for event notifications.

## Development and Testing Tools

Support local development and evaluation workflows:

- **`eval`** — Runs user-provided evaluation scripts against models and reports results.
- **`repl`** — Starts an interactive REPL for quick API exploration and ad-hoc requests.
- **`env`** — Prints the effective environment configuration after all overrides and defaults.
- **`files`** — Manages files stored in the OmniRoute data directory.
- **`tags`** — Organizes providers and models with metadata tags.

## Maintenance and Updates

Keep the installation current and healthy:

- **`update`** — Checks for and applies updates to the `omniroute` binary itself.
- **`telemetry`** — Configures anonymous usage reporting and displays current settings.
- **`sync`** — Synchronizes local configuration with remote state.
- **`resilience`** — Displays and adjusts resilience profiles for fallback and retry behavior.
- **`reset-encrypted-columns`** — Resets encryption on selected database columns (recovery operation).
- **`registry`** — Shows the internal tool and skill registry for debugging.

## Summary

- OmniRoute's CLI contains **70+ commands** auto-discovered from `bin/cli/commands/*.mjs` files
- Core architecture: `bin/cli/program.mjs` loads each `.mjs` file as a sub-command by filename
- Command categories cover: **server lifecycle, diagnostics, authentication, provider management, setup wizards, advanced features, infrastructure, development tools, and maintenance**
- Provider setup commands exist for all major AI coding assistants (Claude, Copilot, Cursor, Continue, Aider, and others)
- All commands follow consistent `omniroute <command> [options]` syntax with built-in `--help`

## Frequently Asked Questions

### How do I discover all available omniroute commands without reading source files?

Run `omniroute --help` to see the complete list. The help output is generated dynamically by scanning `bin/cli/commands/*.mjs`, so it always reflects the installed version's actual capabilities.

### What is the difference between `setup` and the specific `setup-*` commands?

The generic `setup` command provides a wizard for configuring new OpenAI-compatible providers. The specific `setup-*` commands (like `setup-claude` or `setup-cursor`) include provider-specific prompts, default endpoints, and authentication flows tailored to each service.

### Where are command implementations stored in the repository?

All CLI commands live in `bin/cli/commands/*.mjs`. Shared utilities for argument parsing and output formatting are in `bin/cli/utils/*.mjs`. The main entry point that registers commands is `bin/cli/program.mjs`.

### Can I add custom commands to the omniroute binary?

Yes. Create a new `.mjs` file in `bin/cli/commands/` following the export pattern used by existing commands. The CLI will automatically register it on next invocation. For persistent custom commands, maintain changes in a fork or use the `plugin` command system for extensions.