Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claude Code Router (CCR)

Go proxy that routes Claude Code's Anthropic-format requests to OpenAI-compatible LLM providers.

Overview

CCR acts as a reverse proxy:

  • Receives Anthropic API requests from Claude Code
  • Converts to OpenAI format
  • Forwards to provider (OpenRouter, Groq, LM Studio, etc.)
  • Converts response back to Anthropic format

Install

go build -o ccr .

Usage

ccr start       # Start server
ccr stop        # Stop server
ccr status      # Show status
ccr restart     # Restart
ccr model       # List available models
ccr code        # Run Claude Code command via proxy
ccr activate    # Output shell env vars
ccr version     # Show version

Config

~/.claude-code-router/config.yaml:

port: 3457
host: "127.0.0.1"

Providers:
  - name: openrouter
    api_base_url: "https://openrouter.ai/api/v1"
    api_key: "${OPENROUTER_API_KEY}"
    models:
      - "anthropic/claude-3.5-sonnet"

Router:
  default: "openrouter,anthropic/claude-3.5-sonnet"
  think: "openrouter,anthropic/claude-3.5-sonnet"
  longContext: "openrouter,gpt-4o"
  longContextThreshold: 100000

Request Flow

  1. Claude Code → CCR (Anthropic format)
  2. CCR converts request to OpenAI format
  3. Router selects provider/model based on rules
  4. Provider forwards request
  5. Response converted back to Anthropic format

Routing Rules (router/router.go)

  1. Explicit provider,model in request
  2. thinking.type == "enabled"Router.Think
  3. tokens > longContextThresholdRouter.LongContext
  4. Default → Router.Default

Streaming

Provider SSE chunks → CCR converts to Anthropic SSE events:

  • message_start, content_block_start, content_block_delta, content_block_stop
  • message_delta, message_stop, ping
  • Tool calls with input_json_delta

Build & Test

go build -o ccr .
go test ./...

About

Go reverse proxy that routes Claude Code's Anthropic API requests to OpenAI-compatible providers. Converts formats, routes by thinking/context/tokens, injects OpenRouter web search, streams responses back as Anthropic SSE events.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages