Sandbox
@routatic/proxy

Proxy for Claude Code requests to model providers

routatic-proxy routes Claude Code traffic to OpenCode Go, OpenCode Zen, AWS Bedrock, OpenRouter, or Anthropic. It handles model selection, fallback chains, streaming, and request/response format conversion so Claude Code can keep using an Anthropic-style endpoint.

967 stars132 forksGoUpdated 7d ago
Who it's for

Builders who want their Claude Code requests routed through multiple model providers with one local proxy.

What it delivers

You can keep Claude Code as your front end while choosing models and providers behind the scenes.

What it does

Multi-provider routing

Routes requests through OpenCode Go, OpenCode Zen, AWS Bedrock, OpenRouter, or Anthropic from one config.

Format transformation

Converts Anthropic requests into OpenAI, Anthropic, Responses, or Gemini formats and back again.

Automatic model selection

Chooses models by scenario, including default, thinking, long-context, and background requests.

Fallback chains

Tries the next configured model when one fails.

Streaming and tool calling

Handles SSE streaming and translates tool use and function calls between provider formats.

Hot reload and update support

Reloads config changes automatically and can check or install new releases from the CLI.

How to get it

  1. 1This project ships on two channels. Stable is the default; beta gets you the newest…
    routatic-proxy update-channel beta     # opt in to betas
    routatic-proxy update                  # install the newest beta
    routatic-proxy update-channel stable   # back to stable releases

README

routatic-proxy

Go Version License

Join us on Discord

English | 中文

Supported Providers

OpenCode Go OpenCode Zen AWS Bedrock OpenRouter Anthropic

ProviderDescriptionBest For
OpenCode GoHigh-performance open-source coding models with flat-rate pricingDaily coding, complex reasoning, cost-effective workloads
OpenCode ZenCurated, tested models with pay-as-you-go pricingClaude/GPT/Gemini access without multiple API keys
AWS BedrockEnterprise-grade models on your own AWS infrastructureEnterprises needing data sovereignty and compliance
OpenRouterUnified API for 100+ LLMs with automatic failoverExperimenting with models from multiple providers
AnthropicNative Claude models with anthropic-first failover modeClaude-first workflows with OpenCode fallback

A Go CLI proxy that lets you route Claude Code requests through multiple upstream providers with automatic model selection and format transformation.

routatic-proxy sits between Claude Code and your chosen providers, intercepting Anthropic API requests, transforming them to the appropriate format (OpenAI, Anthropic, Responses, or Gemini), and forwarding them upstream. Claude Code thinks it's talking to Anthropic — but your requests go to the models and providers you configure.

oc-go-cc remains available as a compatibility alias, and existing OC_GO_CC_* environment variables and ~/.config/oc-go-cc/config.json files are still recognized.


Why?

OpenCode Go gives you access to powerful open coding models for $5/month (then $10/month). OpenCode Zen provides curated, tested models with pay-as-you-go pricing. AWS Bedrock lets you run models on your own AWS infrastructure. OpenRouter gives you unified access to 100+ models. This proxy makes all of them work seamlessly with Claude Code's interface — no patches, no forks, just set two environment variables and go.

Features

  • Multi-Provider — Route through OpenCode Go, OpenCode Zen, AWS Bedrock, or OpenRouter from a single config
  • Transparent Proxy — Claude Code sends Anthropic-format requests, proxy transforms to provider-native format and back
  • Model Routing — Automatically routes to different models based on context (default, thinking, long context, background)
  • Streaming Scenario Routing — Configurable routing for streaming requests (see CONFIGURATION.md)
  • Fallback Chains — If a model fails, automatically tries the next one in your configured chain
  • Anthropic-First Failover — Keep Claude on Anthropic and use OpenCode only during rate limits or outages
  • Circuit Breaker — Tracks model health and skips failing models to avoid latency spikes
  • Real-time Streaming — Full SSE streaming with live format transformation
  • Tool Calling — Proper Anthropic tool_use/tool_result ↔ OpenAI/Gemini function calling translation
  • Hot Reload — Watch config file for changes and reload automatically
  • Self-Update — Check and install the latest release with one command

See docs/architecture.md for system design and request flow details.

GUI Version

This repository provides a cross-platform GUI for routatic-proxy:

  • macOS — Native Cocoa window with system tray integration (requires CGO). Download the .dmg from the Releases page.
  • Linux — Browser-based GUI via xdg-open (default, no CGO required). For system tray: build with CGO_ENABLED=1 and install libappindicator-gtk3-devel (Fedora) or libayatana-appindicator3-dev (Ubuntu/Debian).
  • Windows — GUI not supported (CLI only).

Dashboard tabs: Overview (real-time metrics & model distribution), History (last 1000 requests with filters), Settings (edit config with hot-reload).

The dashboard is available at http://127.0.0.1:3445 when using start (not serve).

Quick Start

# 1. Install
brew tap routatic/tap && brew install routatic-proxy

# 2. Initialize configuration
routatic-proxy init

# 3. Set your API key
export ROUTATIC_PROXY_API_KEY=sk-opencode-your-key-here

# 4. Start the proxy
routatic-proxy serve

# 5. Configure Claude Code
export ANTHROPIC_BASE_URL=http://127.0.0.1:3456
export ANTHROPIC_AUTH_TOKEN=unused

# 6. Run Claude Code
claude

Fedora / RHEL: each release ships x86_64 and aarch64 RPMs — sudo dnf install https://github.com/routatic/proxy/releases/download/vX.Y.Z/routatic-proxy-X.Y.Z-1.x86_64.rpm. See docs/fedora-setup.md for package contents and the systemd user service.

See INSTALLATION.md for Homebrew, Scoop, Docker, and build-from-source options.

Prefer a GUI for switching providers? routatic-proxy works with CC-Switch — see Using with CC-Switch.

CLI Commands

routatic-proxy start               Start proxy + dashboard (http://127.0.0.1:3445)
routatic-proxy start -b            Start proxy + dashboard in background
routatic-proxy serve               Start the proxy server only (headless, no dashboard)
routatic-proxy serve -b            Start proxy only in background (detached from terminal)
routatic-proxy stop                Stop the running proxy server
routatic-proxy status              Check if the proxy is running
routatic-proxy init                Create default configuration file
routatic-proxy validate            Validate configuration file
routatic-proxy models              List all available models
routatic-proxy autostart enable    Enable auto-start on login
routatic-proxy update              Update to the latest release on your channel
routatic-proxy update check        Check for a newer release without installing
routatic-proxy update-channel      Show or switch release channel (stable|beta)
routatic-proxy --version           Show version

Documentation

DocumentDescription
MODELS.mdModel reference across all providers — capabilities, costs, endpoints, routing recommendations
docs/openrouter.mdOpenRouter provider setup and configuration
CONFIGURATION.mdConfig file reference, env vars, model routing, fallback chains
INSTALLATION.mdHomebrew, Scoop, build from source, Docker
CONTRIBUTING.mdDevelopment setup, architecture
TROUBLESHOOTING.mdCommon issues and debug mode
docs/architecture.mdSystem design and request flow
docs/fedora-setup.mdFedora 44 setup (systemd, SELinux)
docs/reference-api.mdHTTP API reference
docs/howto-add-model.mdAdding new models (zero code changes)
docs/howto-custom-routing.mdCustomizing scenario detection and routing
docs/howto-debug-routing.mdDebugging routing issues

Release Channels

This project ships on two channels. Stable is the default; beta gets you the newest features early.

routatic-proxy update-channel beta     # opt in to betas
routatic-proxy update                  # install the newest beta
routatic-proxy update-channel stable   # back to stable releases

See Beta Releases for the full walkthrough (Docker beta tag, installing a specific prerelease, returning to a stable build) and RELEASE_PROCESS.md for how releases are built.

Beta Channel (Automatic)

  • Trigger: Every push to main branch
  • Version format: v{UPCOMING}-beta.{N} (e.g., v0.6.4-beta.1), where {N} is a sequential counter that restarts once that version ships as stable
  • GitHub release: Marked as prerelease
  • Docker tags: beta (rolling), plus the exact v{UPCOMING}-beta.{N}
  • Use case: Get the latest features and bug fixes immediately; ideal for testing

Production Channel (Manual)

  • Trigger: Manual workflow_dispatch on releases branch
  • Version format: vX.Y.Z (semantic versioning)
  • GitHub release: Marked as stable
  • Docker tags: vX.Y.Z, vX.Y, vX, latest
  • Use case: Stable, tested releases for production use

Contributing

We welcome contributions! Please see CONTRIBUTING.md for development setup, architecture overview, and how to submit pull requests.

License

AGPL-3.0

Files in the repo

Repository payload39 top-level entries
  • .github
  • .spartan
  • .trunk
  • cmd
  • configs
  • docs
  • internal
  • packaging
  • pkg
  • rules
  • scripts
  • testdata
  • .dockerignore
  • .env.example
  • .gitignore
  • .golangci.yml
  • CHANGELOG.md
  • CLAUDE.md
  • CONFIGURATION.md
  • CONTEXT.md
  • CONTRIBUTING.md
  • DESIGN.md
  • Dockerfile
  • go.mod
  • go.sum
  • INSTALLATION.md
  • LICENSE
  • llms.txt
  • Makefile
  • MODELS.md
  • package-lock.json
  • package.json
  • README-zh.md
  • README.md
  • RELEASE_PROCESS.md
  • REVIEW.md
  • tailwind.config.js
  • TROUBLESHOOTING.md
  • walkthrough.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k
t8y2/dbxConnectors

20 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 90+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP Server。

19k