Claude Code
Claude Code supports pointing at your own gateway. The CLI sets it up so the parts that usually break — the model names it hard-codes, the context window it guesses, the timeouts — are already right.
The short way
npx turboprivate@latest login npx turboprivate@latest claude
Arguments pass straight through: npx turboprivate@latest claude -p "fix the failing test".
The manual way
export ANTHROPIC_BASE_URL=https://api.turboprivate.ai export ANTHROPIC_AUTH_TOKEN=tp_live_… export ANTHROPIC_MODEL=ds-flash # Claude Code asks for five different models per session — subagents, # background work and the permission classifier all use hard-coded names. # Map them, or they arrive here unmapped. export ANTHROPIC_DEFAULT_SONNET_MODEL=ds-flash export ANTHROPIC_DEFAULT_HAIKU_MODEL=ds-flash export ANTHROPIC_DEFAULT_OPUS_MODEL=kimi-k3 # An id it does not recognise gets an ASSUMED context window and compacts # your conversation early. Declare the real one. export CLAUDE_CODE_MAX_CONTEXT_TOKENS=262144 claude
Every unknown model name still resolves — an id we do not serve is mapped to the
closest product instead of failing. The exports above make the routing intentional rather than lucky.
End to end, with no plaintext leaving your machine
npx turboprivate@latest claude --private
This opens a private room, verifies its attestation, and proxies Claude Code through it on localhost. Requests are sealed with a fresh post-quantum key before they leave your machine, so the prompt is never readable by us in transit. Same editor, same workflow.