Claude Code
Claude Code is Anthropic's official CLI for AI-assisted coding.
Quick Setup with Bankr CLI
The fastest way to get started is with the Bankr CLI:
# Print the env vars to add to your shell profile
bankr llm setup claude
Or launch Claude Code directly through the gateway — no manual config needed:
bankr claude # shorthand for `bankr llm claude` (or `bankr cc`)
This sets ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN automatically and spawns Claude Code. For a non-Claude --model it also gives Claude Code that model's context and output limits and turns off the advisor tool, which works only on Claude. You can pass any Claude Code flags after it:
bankr claude --model claude-opus-5
# Dotted form also works — bankr claude auto-translates it
bankr claude --model claude-opus-4.8
If you haven't logged in yet, run bankr login first. The CLI uses your stored API key.
Model Format
Claude Code's --model flag (and the model field in ~/.claude/settings.json) accepts Anthropic wire IDs, which use dashes rather than dots in the version:
claude-opus-5claude-sonnet-5-5claude-sonnet-5claude-opus-4-8claude-haiku-4-5
If you pass the gateway-canonical dotted form (e.g. claude-opus-4.8), Claude Code silently falls back to its default — the flag appears honored but the real request is a different model, and you'll see the wrong model name in the UI banner.
bankr llm claude translates dotted → dashed automatically. If you invoke claude directly (via ANTHROPIC_BASE_URL) or edit settings.json by hand, use the dashed form explicitly.
1M-Token Context Tier
Claude Code exposes the 1M-token context tier as a [1m] model suffix
(claude-opus-5[1m]). Through the Bankr gateway the suffix is optional —
the gateway strips it before model lookup and enables the 1M beta from the
model's own context window, so claude-opus-5 and claude-opus-5[1m] send an
identical upstream request. Every model listed at 1M context in
Available Models already gets the full window:
bankr claude --model claude-opus-5
Simply omitting the suffix is the easiest way to avoid the quoting problem below.
[1m]If you do pass the suffix, it must be quoted. In zsh (the macOS default)
[1m] is a glob character class, so an unquoted id aborts the command before
the CLI ever sees it:
zsh: no matches found: claude-opus-5[1m]
Bash passes it through literally, so the same command can work on one machine and fail on another. Always wrap it in quotes:
bankr claude --model "claude-opus-5[1m]"
The same applies when you invoke claude directly via ANTHROPIC_BASE_URL.
Inside ~/.claude/settings.json it's already a JSON string, so no extra
escaping is needed:
{ "model": "claude-opus-5[1m]" }
Private Inference
Route Claude Code through a hardware-secured enclave (TEE) by pointing it at an open-weight model with the :private suffix:
bankr claude --model glm-5.3-flash:private
bankr llm claude forwards the model id verbatim — the dotted → dashed translation only rewrites Claude IDs and preserves any suffix — so the :private opt-in reaches the gateway unchanged. The gateway verifies the enclave's attestation on every request and fail-closes rather than downgrading. It works the same when you set "model": "glm-5.3-flash:private" in settings.json or invoke claude directly via ANTHROPIC_BASE_URL.
Private inference covers open-weight models only (DeepSeek, GLM, Kimi). Claude, GPT, and Gemini are not served confidentially, so there is no claude-*:private twin — append :private when you point Claude Code at an open-weight model. List the current set with bankr llm models --private, and see Private Inference for the full flow, response headers, and attestation verification.
Manual Configuration
Set the two variables bankr llm setup claude prints, in your shell profile (~/.zshrc, ~/.bashrc):
export ANTHROPIC_BASE_URL="https://llm.bankr.bot"
export ANTHROPIC_AUTH_TOKEN="bk_your_api_key_here"
Or in the env block of ~/.claude/settings.json, optionally with a default model:
{
"env": {
"ANTHROPIC_BASE_URL": "https://llm.bankr.bot",
"ANTHROPIC_AUTH_TOKEN": "bk_your_api_key_here"
},
"model": "claude-opus-4-8"
}
Use https://llm.bankr.bot (without /v1) for Claude Code.
See Supported Models for all supported models.