A Go CLI proxy that lets you use your OpenCode Go or OpenCode Zen subscription with Claude Code.
oc-go-cc sits between Claude Code and OpenCode, intercepting Anthropic API requests, transforming them to the appropriate format (OpenAI, Responses, or Gemini), and forwarding them to OpenCode's endpoints. Claude Code thinks it's talking to Anthropic — but your requests go to affordable open models instead.
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. This proxy makes both work seamlessly with Claude Code's interface — no patches, no forks, just set two environment variables and go.
- Transparent Proxy — Claude Code sends Anthropic-format requests, proxy transforms to OpenAI/Responses/Gemini format and back
- Dual Provider Support — Route models through OpenCode Go or OpenCode Zen based on your needs
- Model Routing — Automatically routes to different models based on context (default, thinking, long context, background)
- Fallback Chains — If a model fails, automatically tries the next one in your configured chain
- 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
- Token Counting — Uses tiktoken (cl100k_base) for accurate token counting and context threshold detection
- JSON Configuration — Flexible config file with environment variable overrides and
${VAR}interpolation - Hot Reload — Watch config file for changes and reload automatically (off by default)
- Background Mode — Run as daemon detached from terminal
- Auto-start on Login — Launch on system startup via launchd (macOS)
# macOS / Linux
brew tap samueltuyizere/tap && brew install oc-go-cc
# Windows
scoop bucket add oc-go-cc https://github.com/samueltuyizere/scoop-bucket && scoop install oc-go-cc
# Docker (with Makefile)
cp .env.example .env # then put your API key in .env
make docker-up
# Docker (manual)
cp .env.example .env
docker build -t oc-go-cc .
docker run -d --restart unless-stopped --name oc-go-cc --env-file .env -p 3456:3456 oc-go-ccOr see INSTALLATION.md for more options.
oc-go-cc initCreates a default config at ~/.config/oc-go-cc/config.json. Edit it to add your API key, or set the environment variable:
export OC_GO_CC_API_KEY=sk-opencode-your-key-hereoc-go-cc serveStop the Docker container (if using Docker):
make docker-stopexport ANTHROPIC_BASE_URL=http://127.0.0.1:3456
export ANTHROPIC_AUTH_TOKEN=unusedclaudeoc-go-cc serve Start the proxy server
oc-go-cc serve -b Start in background (detached from terminal)
oc-go-cc serve --port 8080 Start on a custom port
oc-go-cc stop Stop the running proxy server
oc-go-cc status Check if the proxy is running
oc-go-cc init Create default configuration file
oc-go-cc validate Validate configuration file
oc-go-cc models List all available models (Go + Zen)
oc-go-cc autostart enable Enable auto-start on login
oc-go-cc autostart disable Disable auto-start on login
oc-go-cc autostart status Check autostart status
oc-go-cc --version Show version
| Document | Description |
|---|---|
| INSTALLATION.md | Homebrew, Scoop, build from source, release binaries |
| CONFIGURATION.md | Config file reference, env vars, model routing, fallback chains |
| MODELS.md | Model capabilities, costs, and routing recommendations |
| CONTRIBUTING.md | Development setup, architecture, how it works |
| TROUBLESHOOTING.md | Common issues and debug mode |