Run Claude Code on it
The gateway speaks Anthropic's message format: the agent runs with no shim and no proxy in between.
https://189.24.66.33The environment
export ANTHROPIC_BASE_URL=https://189.24.66.33
export ANTHROPIC_AUTH_TOKEN=sk-relay-...
export ANTHROPIC_MODEL=glm-5.3-flash-xploded
export ANTHROPIC_DEFAULT_HAIKU_MODEL=glm-5.3-flash-xploded
export CLAUDE_CODE_MAX_CONTEXT_TOKENS=200000
claudeThe base URL carries no /v1: the Anthropic SDK appends /v1/messages itself, and adding it yourself produces a 404 that looks like an auth problem.
Why the Haiku variable matters
The agent uses its background model for session titles and other side calls. Leave ANTHROPIC_DEFAULT_HAIKU_MODEL unset and those go to a model you did not choose. Set it to something cheap and tool-capable.
Caching is on by default
A harness re-sends its system prompt on every turn, so caching is where the money is. Any cache_control breakpoint you send is forwarded; if you send none, the end of a large system prompt is marked automatically, so the discount applies whether or not your client knows the feature exists. Cached reads bill at the model's cached-input price (see the model catalogue), so the saving reaches your bill. Small prompts are left alone on purpose: a cache write costs more than a plain read, so a two-line system prompt is not worth marking.
What a session actually costs
A coding agent re-sends its system prompt and every tool definition on each turn — roughly 25,000 tokens per call for Claude Code, so the cost floor of a session is the harness, not your question; a one-word session is never cheap. Pick a model by its input price: input dominates an agent session, so a cheap input price with an expensive output price usually beats the reverse.
What does not work
Anthropic's server-side tools, web search among them, have no chat-completions equivalent, so they are unavailable regardless of model. Everything else, including local tool use and file edits, works.