Skip to content

borje/claude-code-router

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors