cc-proxy — CLI Proxy Tools tool screenshot
CLI Proxy Tools

cc-proxy: Best CLI Proxy Tools for Claude Code users in 2026

8 min read·

cc-proxy sits between Claude Code and any OpenAI-compatible endpoint, translating Anthropic-shaped traffic in real time without Docker or a Python runtime.

Pricing

Open-Source

Tech Stack

Rust, TUI, SSE streaming, OpenAI-compatible HTTP APIs

Target

developers using Claude Code with OpenAI-compatible backends

Category

CLI Proxy Tools

What Is cc-proxy?

cc-proxy is a Rust CLI proxy built by fengshao1227 that translates Claude Code requests into OpenAI-compatible API calls in real time, so developers using Claude Code can point it at OpenAI or third-party backends; the binary is 6.4MB and ships without Python, Docker, or runtime dependencies. cc-proxy is one of the best CLI Proxy Tools for developers using Claude Code with OpenAI-compatible backends, especially when you need local auth, tiered model mapping, and SSE streaming in a single process.

Quick Overview

AttributeDetails
TypeCLI Proxy Tools
Best ForDevelopers using Claude Code with OpenAI-compatible backends
Language/StackRust, TUI, SSE streaming, OpenAI-compatible HTTP APIs
LicenseMIT
GitHub StarsN/A as of Feb 2026
PricingOpen-Source
Last Releasev0.1.6 — date not stated on the page

Who Should Use cc-proxy?

  • Claude Code users who want model flexibility — cc-proxy is a fit when your team wants Claude Code’s local workflow but prefers OpenAI, GPT-5.4, or another compatible provider behind it.
  • Indie hackers shipping on a tight footprint — the 6.4MB Rust binary avoids Docker images, Python virtualenvs, and extra services, which keeps local setups simple and CI runners light.
  • Platform engineers standardizing access — cc-proxy gives you a local gateway with one auth key, per-tier routing, and config stored in ~/.cc-proxy/config.json with restrictive file permissions.
  • Developers debugging API compatibility — if you need to verify streaming, tool calls, or reasoning settings against a Claude Code client, cc-proxy exposes a controlled translation layer.

Not ideal for:

  • Teams that want a hosted SaaS and do not want to run any local process.
  • Workflows that depend on Anthropic-native endpoints only and do not need request translation.
  • Environments where local port management is heavily restricted and cannot allow a listener on localhost:8082.

Key Features of cc-proxy

  • Real-time request translation — cc-proxy rewrites Claude Code traffic into OpenAI-style requests on the fly, which lets the client keep speaking Anthropic-shaped protocol while the upstream model comes from another provider.
  • Single static Rust binary — the download is only 6.4MB, and the page explicitly says there is no Python, Docker, or external runtime dependency. That matters on minimal Linux hosts, developer laptops, and ephemeral CI machines.
  • Interactive TUI setup — running cc-proxy starts a menu-driven interface with status, restart, config, and connection info actions. This is faster than editing JSON by hand when you are testing providers.
  • Per-tier model mappingopus, sonnet, and haiku traffic can map to separate upstream models. That lets you reserve expensive models for high-value prompts while routing lighter work to cheaper ones.
  • Per-tier reasoning controls — each tier can use a different thinking effort level: none, low, medium, high, or xhigh. This is useful when you want more depth for larger tasks and lower latency for small edits.
  • Streaming SSE support — cc-proxy preserves token streaming through SSE, so Claude Code still receives incremental output instead of waiting for a full response body.
  • Daemon and health tooling — the CLI exposes start -d, stop, status, test, and doctor, which makes cc-proxy usable in scripts, shells, and service wrappers.
  • Auto-generated auth key — the proxy creates a random client auth key during setup and shows it in the connection info screen. That reduces the chance of anonymous local access.

cc-proxy vs Alternatives

ToolBest ForKey DifferentiatorPricing
cc-proxyClaude Code users who need OpenAI-compatible routingTranslates Claude Code requests into upstream OpenAI-style APIs in real timeOpen-Source
OpenTraceInspecting request/response flow and debugging AI trafficFocuses on tracing and observability rather than runtime request translationOpen-Source
OpenSwarmCoordinating multi-agent workflowsOrchestrates agents instead of sitting in the network path as a proxyOpen-Source
Claude Code CanvasManaging Claude Code sessions and workflowsImproves the Claude Code experience itself rather than swapping providers underneath itOpen-Source

Pick OpenTrace when you care more about visibility than routing. cc-proxy changes the traffic path, while OpenTrace is the better fit for inspecting what the client and model are actually sending.

Pick OpenSwarm when you need coordination across multiple agents or tasks. cc-proxy is a transport and translation layer, not an orchestration engine.

Pick Claude Code Canvas when the problem is the Claude Code workflow, not the backend provider. cc-proxy is the right choice when Claude Code already works and you only need to swap the API layer underneath it.

How cc-proxy Works

cc-proxy runs as a local HTTP listener, defaulting to port 8082, and acts as a translation shim between Claude Code and any OpenAI-compatible endpoint. The core abstraction is simple: Claude Code sends Anthropic-shaped requests, cc-proxy maps model tiers and reasoning settings, then forwards the call to the upstream API while preserving streaming behavior and tool-use semantics.

The design choice that matters here is keeping the proxy small and deterministic. The page says the binary is a single 6.4MB Rust executable with no runtime dependencies, which means startup is fast, the failure surface is narrow, and deployment on Linux or Windows does not require container tooling. That is a practical advantage over heavier gateway stacks when you only need local protocol adaptation.

# start the proxy
cc-proxy

# connect Claude Code to the local listener
ANTHROPIC_BASE_URL=http://localhost:8082 \
ANTHROPIC_API_KEY="your-auth-key" \
ANTHROPIC_AUTH_TOKEN="" \
claude

The first command opens the interactive menu and either starts the proxy or walks you through setup. The second command points Claude Code at the local bridge so requests hit cc-proxy first, and the blank ANTHROPIC_AUTH_TOKEN forces the API-key path instead of a claude.ai login path.

cc-proxy also uses tier-based routing for model selection. Requests that look like opus, sonnet, or haiku are mapped to BIG_MODEL, MIDDLE_MODEL, or SMALL_MODEL, and each tier can get its own reasoning level. That lets you treat the proxy as a policy layer, not just a dumb reverse proxy.

Pros and Cons of cc-proxy

Pros:

  • Tiny deployment footprint — the 6.4MB Rust binary is easy to ship, cache, and run on developer laptops or minimal Linux instances.
  • Claude Code compatibility — it preserves a Claude Code workflow while pointing traffic at OpenAI-compatible providers.
  • Per-tier routing and reasoning — model selection and reasoning depth can be tuned independently for opus, sonnet, and haiku tiers.
  • Streaming support — SSE token streaming survives the translation path, which keeps interactive coding sessions responsive.
  • Useful operational commandsstatus, test, and doctor make it easier to diagnose upstream API issues, config mistakes, and port conflicts.
  • No container dependency — the page explicitly says you do not need Docker, which simplifies setup on locked-down workstations.

Cons:

  • Local process required — cc-proxy is not a hosted gateway, so it needs a machine that stays available while Claude Code runs.
  • Port exposure trade-off — the default port is 8082, which can collide with Windows port reservations or other local services.
  • Manual provider setup — you still have to supply an OpenAI-compatible base URL and a valid upstream key.
  • Narrow scope — cc-proxy solves routing and translation, not collaboration, tracing, or agent orchestration.
  • Unknown upstream behavior — compatibility depends on the provider actually honoring OpenAI-style endpoints, tool calls, and streaming semantics.

Getting Started with cc-proxy

# install the CLI wrapper
npm i -g ccproxy-cli

# launch the interactive setup and start the proxy
cc-proxy

# in a second terminal, point Claude Code at cc-proxy
ANTHROPIC_BASE_URL=http://localhost:8082 \
ANTHROPIC_API_KEY="your-auth-key" \
ANTHROPIC_AUTH_TOKEN="" \
claude

After the first run, cc-proxy asks for your upstream API URL, API key, model presets, and reasoning preferences. The setup stores config in ~/.cc-proxy/config.json with 0600 permissions, then generates a client auth key that Claude Code must use when talking to localhost:8082.

If you prefer a binary download, the project also publishes releases on GitHub and supports chmod +x cc-proxy followed by ./cc-proxy. That path is useful on hosts where Node is not installed, while the npm wrapper is better if you want the setup flow and command entrypoint managed for you.

Verdict

cc-proxy is the strongest option for running Claude Code against OpenAI-compatible providers when you want a tiny local bridge instead of a full gateway stack. Its main strength is the combination of real-time translation, tiered model mapping, and zero-runtime deployment. The caveat is that it only helps if you are comfortable operating a local proxy and managing upstream API access yourself. Use it if you need that control.

Frequently Asked Questions

Looking for alternatives?

Compare cc-proxy with other CLI Proxy Tools tools.

See Alternatives →

Related Tools