Using Corion AI with Claude Code
Claude Code — and any client that speaks Anthropic's /v1/messages — points at Corion by setting two environment variables. No config file, no wizard.
Corion exposes the Anthropic Messages format at https://api.corion.ai/v1/messages alongside the OpenAI-compatible endpoint. Same key, same models, same rate card.
Prerequisites
- Claude Code installed
- A Corion API key from Dashboard → API keys
Setup
Point Claude Code at Corion:
export ANTHROPIC_BASE_URL=https://api.corion.ai
export ANTHROPIC_API_KEY=<your-corion-api-key>
export ANTHROPIC_MODEL=kimi-k3
Then run Claude Code as usual:
claude
To switch models mid-session, use /model:
/model deepseek-v4-flash-0731
Available models: kimi-k3, deepseek-v4-pro-0813, deepseek-v4-flash-0731.
Using the Anthropic SDK directly
The same endpoint works from any Anthropic SDK. Set base_url to Corion and pass a Corion key.
import anthropic
client = anthropic.Anthropic(
base_url="https://api.corion.ai",
api_key="<your-corion-api-key>",
)
message = client.messages.create(
model="kimi-k3",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello, Corion."}],
)
print(message.content[0].text)
Streaming, system prompts, tool use, and stream=true all work as documented by Anthropic — Corion serves the same wire format.
Verify
A single request from your shell:
curl https://api.corion.ai/v1/messages \
-H "Authorization: Bearer $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-k3",
"max_tokens": 64,
"messages": [{"role": "user", "content": "Reply with the word: pong"}]
}'
A 200 with an Anthropic-shaped body (type: "message", content: [{type: "text", ...}]) means auth and routing both work. A 401 means the key is wrong or truncated — Corion shows the complete key only once at creation, so generate a fresh one in the dashboard.
Then run a read-only task in Claude Code itself ("summarize this repository") and confirm both the reply and tool calls before granting it permission to edit files. For other errors, see errors and retries.
