The universal remote for coding agents
One CLI that swaps between OpenAI, Gemini, Ollama, and a dozen other backends without rewriting your workflow.

What it does
OpenClaude is a terminal-first coding agent that runs bash, edits files, searches code, and loops through multi-step tool calls. The twist: it plugs into practically any model provider—OpenAI-compatible APIs, Gemini, GitHub Models, Codex, Ollama, even Xiaomi MiMo—through a single /provider command or environment variables. You keep the same prompts, slash commands, and MCP integrations no matter who hosts the model.
The interesting bit
The README is unusually honest about provider fragmentation. Anthropic-specific features vanish on other backends, smaller local models choke on long tool loops, and output caps differ. Rather than papering over this, OpenClaude exposes agent routing: you can send “Explore” tasks to a cheap model and “Plan” tasks to GPT-4o by editing a JSON file. It also ships a headless gRPC server, so you can embed the agent engine into CI pipelines or custom UIs.
Key highlights
- Provider profiles saved inside the app; switch backends mid-session with
/provider - DuckDuckGo web search fallback for non-Anthropic models (scrapes results, rate limits apply)
- Optional Firecrawl integration for reliable search and JS-rendered page fetching
- gRPC server mode with bidirectional streaming for external integrations
- Bundled VS Code extension for launch integration and theme support
- Agent routing: split work across models by task type for cost or capability optimization
Caveats
- API keys in
~/.openclaude.jsonare stored in plaintext; the README explicitly warns not to commit this file - WebFetch uses basic HTTP-to-markdown and fails on JS-rendered sites unless you add Firecrawl
- Fresh installs default to Gitlawb Opengateway, which requires signing up for a separate API key
Verdict
Worth a look if you juggle multiple AI providers or want a single coding agent you can run locally, in the cloud, or embedded via gRPC. Skip it if you’re all-in on one provider’s native CLI and don’t need the abstraction layer.