Providers
ccode supports a variety of model providers out of the box. Each provider gets its own profile in your config file. This page covers the setup for each supported provider type.
For the full list of available YAML fields, see the Config Reference.
Note: since 1.3.0, every provider example below has a matching hosted YAML file you can pull in directly with
ccode add-profile --from-url ..., without hand-editing YAML. ccode will prompt you for any required fields it can’t fill in for you (auth tokens, project IDs, gateway URLs).See Importing configuration for the full walkthrough.
Anthropic direct
The simplest setup. ccode launches Claude Code without setting any provider-specific environment variables.
Subscription passthrough
If you have a Claude Pro, Max, Team, or Enterprise subscription, add default: {} to the profiles: map in your config to launch Claude Code as-is:
profiles:
default: {}
No hosted file - this is an empty profile and there’s nothing to pull.
This is a valid --dynamic starting profile and a valid switch target: ccode --dynamic starts a swappable session on your subscription, and a running session can be switched to or from it. You can optionally name a model (anthropic_model) for the dynamic proxy to pin to; if you don’t, it uses a default. See Dynamic proxy.
API key billing
For pay-per-token billing through Anthropic’s API, set anthropic_api_key. Get your API key at console.anthropic.com.
Anthropic’s current lineup is Claude Fable 5 (the top tier), Claude Opus 5, Claude Sonnet 5, and Claude Haiku 4.5. This profile puts Fable 5 on the Fable tier and Opus 5 on the Opus and default tiers - note Fable costs about 2x Opus per token.
# Example profile: Anthropic API (pay-per-token billing)
# Get your API key at: https://console.anthropic.com/settings/keys
#
# Anthropic's current lineup is Claude Fable 5 (the top tier), Claude
# Opus 5, Claude Sonnet 5, and Claude Haiku 4.5. This profile puts Fable
# on the Fable tier and Opus 5 on the Opus and default tiers - note Fable
# costs about 2x Opus per token.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/anthropic.yaml
#
# ccode will prompt you for the API key during import.
anthropic:
anthropic_api_key: "YOUR_ANTHROPIC_API_KEY_HERE"
models:
model:
model: "claude-opus-5"
name: "Claude Opus 5"
description: "Claude model via the Anthropic API"
fable:
model: "claude-fable-5"
name: "Claude Fable 5"
description: "Claude model via the Anthropic API"
opus:
model: "claude-opus-5"
name: "Claude Opus 5"
description: "Claude model via the Anthropic API"
sonnet:
model: "claude-sonnet-5"
name: "Claude Sonnet 5"
description: "Claude model via the Anthropic API"
haiku:
model: "claude-haiku-4-5"
name: "Claude Haiku 4.5"
description: "Claude model via the Anthropic API"
subagent:
model: "claude-sonnet-5"
name: "Claude Sonnet 5 (subagent)"
description: "Claude model via the Anthropic API"
First-party cloud providers
These run Claude models on AWS, GCP, or Azure infrastructure. Authentication uses your cloud provider’s credentials, not an Anthropic auth token.
Amazon Bedrock
Runs Claude models on AWS infrastructure using your AWS credentials. Authentication is handled by AWS (IAM roles, SSO, environment variables, credential files, etc.) - you do not need to set anthropic_auth_token. Billing goes through your AWS account, which may be preferable for enterprise environments.
# Example profile: Amazon Bedrock
# Runs Claude on AWS infrastructure using your AWS credentials.
# Authentication is handled by AWS (IAM roles, SSO, environment variables,
# credential files, etc.) - no Anthropic auth token needed.
# Docs: https://docs.anthropic.com/en/docs/claude-code/amazon-bedrock
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/bedrock.yaml
#
# This profile has no prompt: field - everything required is set already.
# Useful as a quick starter, or for orgs distributing a standardized Bedrock
# profile to their team. Edit afterwards with ccode edit-config to add any of
# the optional fields (anthropic_bedrock_base_url, claude_code_skip_bedrock_auth,
# aws_bearer_token_bedrock, anthropic_bedrock_service_tier).
bedrock:
claude_code_use_bedrock: true
Claude Platform on AWS
Anthropic’s first-party platform deployed on AWS, distinct from Amazon Bedrock. Uses a workspace API key generated in the AWS Console (sent as x-api-key), with AWS SigV4 (IAM credentials) supported as a fallback. The workspace ID is required on every request.
# Example profile: Claude Platform on AWS
# Runs Claude on AWS infrastructure. Distinct from Amazon Bedrock - this uses
# Anthropic's first-party platform deployed on AWS, with a workspace API key
# generated in the AWS Console (sent as x-api-key). AWS SigV4 (IAM credentials)
# is supported as a fallback - press ENTER at the API key prompt to use SigV4
# instead, and ccode will leave anthropic_aws_api_key unset.
# Docs: https://docs.anthropic.com/en/docs/claude-code/claude-platform-on-aws
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/anthropic-aws.yaml
#
# ccode will prompt you for the workspace ID and API key during import.
anthropic-aws:
claude_code_use_anthropic_aws: true
anthropic_aws_workspace_id: "your-workspace-id"
anthropic_aws_api_key: "YOUR_ANTHROPIC_AWS_API_KEY_HERE"
Amazon Bedrock Mantle
A variant of Bedrock with a dedicated endpoint. Uses the same AWS credentials as Bedrock.
# Example profile: Amazon Bedrock Mantle
# A variant of Bedrock with a dedicated endpoint. Uses the same AWS credentials
# as Bedrock (IAM roles, SSO, environment variables, credential files, etc.).
# Docs: https://docs.anthropic.com/en/docs/claude-code/amazon-bedrock#use-the-mantle-endpoint
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/mantle.yaml
#
# This profile has no prompt: field - everything required is set already.
# Edit afterwards with ccode edit-config to add optional fields like
# anthropic_bedrock_mantle_base_url or claude_code_skip_mantle_auth.
mantle:
claude_code_use_mantle: true
Google Vertex AI
Runs Claude models on GCP infrastructure using your Google Cloud credentials (application default credentials from gcloud auth). You need to specify your GCP project ID.
# Example profile: Google Vertex AI
# Runs Claude on GCP infrastructure using your Google Cloud credentials
# (application default credentials from gcloud auth).
# Docs: https://docs.anthropic.com/en/docs/claude-code/google-vertex-ai
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/vertex.yaml
#
# ccode will prompt you for your GCP project ID during import.
vertex:
claude_code_use_vertex: true
anthropic_vertex_project_id: "your-gcp-project-id"
Microsoft Foundry (Azure)
Runs Claude models on Azure infrastructure.
# Example profile: Microsoft Foundry (Azure)
# Runs Claude on Azure infrastructure.
# Docs: https://docs.anthropic.com/en/docs/claude-code/microsoft-foundry
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/foundry.yaml
#
# ccode will prompt you for the Foundry resource URL and API key during import.
foundry:
claude_code_use_foundry: true
anthropic_foundry_base_url: "https://your-resource.services.ai.azure.com/anthropic"
anthropic_foundry_api_key: "YOUR_FOUNDRY_API_KEY_HERE"
# Alternative to the API key, after import: a bearer token (e.g. a Microsoft
# Entra access token). Takes precedence over the API key.
# anthropic_foundry_auth_token: "YOUR_FOUNDRY_BEARER_TOKEN_HERE"
Third-party providers (native Anthropic format)
These providers expose an Anthropic-compatible API endpoint, letting you use non-Claude models with Claude Code’s full interface. Each needs anthropic_base_url (the provider’s endpoint) and anthropic_auth_token (your API key with that provider).
Note: Most third-party providers need
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASset to"1"in theirenv:block. This strips Anthropic-specific headers and beta tool-schema fields that non-Anthropic providers reject (you’ll see errors like “Unexpected value(s) for the anthropic-beta header” or “Extra inputs are not permitted” without it). Each example below includes it preemptively.
DeepSeek
Sign up at platform.deepseek.com.
DeepSeek V4 Pro is a strong general-purpose coding model with very competitive pricing. DeepSeek V4 Flash is faster and cheaper, suitable for sub-agents and lighter tasks. Both default to a 1 million token context window. This profile mixes them: Pro on the Fable, Opus, and default tiers, Flash on Sonnet, Haiku, and sub-agents.
# Example profile: DeepSeek (mixed tiers)
# Sign up: https://platform.deepseek.com/
# Docs: https://api-docs.deepseek.com/quick_start/pricing
#
# The Fable, Opus, and default tiers run DeepSeek V4 Pro; the Sonnet,
# Haiku, and sub-agent tiers run the cheaper V4 Flash. Both models have a
# 1M token context window. For a single-model profile, import
# deepseek-pro.yaml or deepseek-flash.yaml instead.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/deepseek.yaml
#
# ccode will prompt you for the auth token during import.
deepseek:
anthropic_base_url: "https://api.deepseek.com/anthropic"
anthropic_auth_token: "YOUR_DEEPSEEK_API_KEY_HERE"
models:
model:
model: "deepseek-v4-pro"
name: "DeepSeek V4 Pro"
description: "DeepSeek coding model via ccode"
fable:
model: "deepseek-v4-pro"
name: "DeepSeek V4 Pro (Fable tier)"
description: "DeepSeek coding model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "deepseek-v4-pro"
name: "DeepSeek V4 Pro"
description: "DeepSeek coding model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "deepseek-v4-flash"
name: "DeepSeek V4 Flash (Sonnet tier)"
description: "DeepSeek coding model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "deepseek-v4-flash"
name: "DeepSeek V4 Flash"
description: "DeepSeek coding model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "deepseek-v4-flash"
name: "DeepSeek V4 Flash (subagent)"
description: "DeepSeek coding model via ccode"
claude_code_effort_level: "max"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
DeepSeek Pro
Every tier on DeepSeek V4 Pro, for when you would rather not think about which tier you are on.
# Example profile: DeepSeek V4 Pro (single model)
# Sign up: https://platform.deepseek.com/
# Docs: https://api-docs.deepseek.com/quick_start/pricing
#
# Every tier runs DeepSeek V4 Pro, DeepSeek's top model, with a 1M token
# context window. For a cheaper mix that keeps V4 Flash on the lower
# tiers, import deepseek.yaml instead.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/deepseek-pro.yaml
#
# ccode will prompt you for the auth token during import.
deepseek-pro:
anthropic_base_url: "https://api.deepseek.com/anthropic"
anthropic_auth_token: "YOUR_DEEPSEEK_API_KEY_HERE"
models:
model:
model: "deepseek-v4-pro"
name: "DeepSeek V4 Pro"
description: "DeepSeek coding model via ccode"
fable:
model: "deepseek-v4-pro"
name: "DeepSeek V4 Pro (Fable tier)"
description: "DeepSeek coding model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "deepseek-v4-pro"
name: "DeepSeek V4 Pro"
description: "DeepSeek coding model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "deepseek-v4-pro"
name: "DeepSeek V4 Pro (Sonnet tier)"
description: "DeepSeek coding model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "deepseek-v4-pro"
name: "DeepSeek V4 Pro (Haiku tier)"
description: "DeepSeek coding model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "deepseek-v4-pro"
name: "DeepSeek V4 Pro (subagent)"
description: "DeepSeek coding model via ccode"
claude_code_effort_level: "max"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
DeepSeek Flash
Every tier on DeepSeek V4 Flash. The cheapest way to run ccode against DeepSeek.
# Example profile: DeepSeek V4 Flash (single model)
# Sign up: https://platform.deepseek.com/
# Docs: https://api-docs.deepseek.com/quick_start/pricing
#
# Every tier runs DeepSeek V4 Flash, DeepSeek's cheap fast model, with a
# 1M token context window. For a mix that puts V4 Pro on the top tiers,
# import deepseek.yaml instead.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/deepseek-flash.yaml
#
# ccode will prompt you for the auth token during import.
deepseek-flash:
anthropic_base_url: "https://api.deepseek.com/anthropic"
anthropic_auth_token: "YOUR_DEEPSEEK_API_KEY_HERE"
models:
model:
model: "deepseek-v4-flash"
name: "DeepSeek V4 Flash"
description: "DeepSeek coding model via ccode"
fable:
model: "deepseek-v4-flash"
name: "DeepSeek V4 Flash (Fable tier)"
description: "DeepSeek coding model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "deepseek-v4-flash"
name: "DeepSeek V4 Flash"
description: "DeepSeek coding model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "deepseek-v4-flash"
name: "DeepSeek V4 Flash (Sonnet tier)"
description: "DeepSeek coding model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "deepseek-v4-flash"
name: "DeepSeek V4 Flash"
description: "DeepSeek coding model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "deepseek-v4-flash"
name: "DeepSeek V4 Flash (subagent)"
description: "DeepSeek coding model via ccode"
claude_code_effort_level: "max"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Z.AI (Zhipu GLM)
Sign up at z.ai (international) or open.bigmodel.cn (China). GLM-5.3 is Zhipu’s latest flagship coding model; GLM-4.7 is the cheaper model Z.AI itself maps to Claude Code’s lower tiers.
GLM-5.3 is served through the GLM Coding Plan, so these profiles need a Coding Plan key rather than a pay-per-token API key.
# Example profile: Z.AI (Zhipu GLM, mixed tiers)
# Sign up (international): https://z.ai/
# Sign up (China): https://open.bigmodel.cn/
# Docs: https://docs.z.ai/devpack/latest-model
#
# GLM-5.3 is served through the GLM Coding Plan, so this profile needs a
# Coding Plan key rather than a pay-per-token API key. Create one at
# https://z.ai/manage-apikey/apikey-list
#
# The Fable, Opus, and default tiers run GLM-5.3, Zhipu's latest flagship
# coding model; the Sonnet, Haiku, and sub-agent tiers run the cheaper
# GLM-4.7. For a single-model profile, import zai-glm53.yaml instead.
#
# For the China endpoint, after import run `ccode edit-config` and change
# anthropic_base_url: "https://api.z.ai/api/anthropic"
# to:
# anthropic_base_url: "https://open.bigmodel.cn/api/anthropic"
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/zai.yaml
#
# ccode will prompt you for the auth token during import.
zai:
anthropic_base_url: "https://api.z.ai/api/anthropic"
anthropic_auth_token: "YOUR_ZAI_API_KEY_HERE"
models:
model:
model: "glm-5.3"
name: "GLM-5.3"
description: "ZhipuAI GLM coding model via ccode"
fable:
model: "glm-5.3"
name: "GLM-5.3 (Fable tier)"
description: "ZhipuAI GLM coding model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "glm-5.3"
name: "GLM-5.3"
description: "ZhipuAI GLM coding model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "glm-4.7"
name: "GLM-4.7 (Sonnet tier)"
description: "ZhipuAI GLM coding model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "glm-4.7"
name: "GLM-4.7"
description: "ZhipuAI GLM coding model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "glm-4.7"
name: "GLM-4.7 (subagent)"
description: "ZhipuAI GLM coding model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Z.AI GLM-5.3
Every tier on GLM-5.3.
# Example profile: Z.AI GLM-5.3 (single model)
# Sign up (international): https://z.ai/
# Sign up (China): https://open.bigmodel.cn/
# Docs: https://docs.z.ai/devpack/latest-model
#
# GLM-5.3 is served through the GLM Coding Plan, so this profile needs a
# Coding Plan key rather than a pay-per-token API key. Create one at
# https://z.ai/manage-apikey/apikey-list
#
# Every tier runs GLM-5.3, Zhipu's latest flagship coding model. For a
# cheaper mix that keeps GLM-4.7 on the lower tiers, import zai.yaml
# instead.
#
# For the China endpoint, after import run `ccode edit-config` and change
# anthropic_base_url: "https://api.z.ai/api/anthropic"
# to:
# anthropic_base_url: "https://open.bigmodel.cn/api/anthropic"
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/zai-glm53.yaml
#
# ccode will prompt you for the auth token during import.
zai-glm53:
anthropic_base_url: "https://api.z.ai/api/anthropic"
anthropic_auth_token: "YOUR_ZAI_API_KEY_HERE"
models:
model:
model: "glm-5.3"
name: "GLM-5.3"
description: "ZhipuAI GLM coding model via ccode"
fable:
model: "glm-5.3"
name: "GLM-5.3 (Fable tier)"
description: "ZhipuAI GLM coding model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "glm-5.3"
name: "GLM-5.3"
description: "ZhipuAI GLM coding model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "glm-5.3"
name: "GLM-5.3 (Sonnet tier)"
description: "ZhipuAI GLM coding model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "glm-5.3"
name: "GLM-5.3 (Haiku tier)"
description: "ZhipuAI GLM coding model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "glm-5.3"
name: "GLM-5.3 (subagent)"
description: "ZhipuAI GLM coding model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Moonshot Kimi
Sign up at platform.kimi.ai (international) or platform.moonshot.cn (China). This is the pay-per-token Kimi API; the Kimi Code subscription plan is a separate endpoint with its own model IDs, covered below.
Kimi K3 is Moonshot’s flagship model with a 1 million token context window. Kimi K2.7 Code is the cheaper dedicated coding model at 256k. claude_code_auto_compact_window is a per-session setting rather than a per-tier one, so this profile follows the smaller 256k model; the all-K3 profile below raises it to 1M.
# Example profile: Moonshot Kimi API (mixed tiers)
# Sign up (international): https://platform.kimi.ai/
# Sign up (China): https://platform.moonshot.cn/
# Docs: https://platform.kimi.ai/docs/guide/claude-code-kimi
#
# This is the pay-per-token Kimi API. If you have a Kimi Code plan
# subscription instead, import kimi-code.yaml - it uses a different
# endpoint and different model IDs.
#
# The Fable, Opus, and default tiers run Kimi K3, Moonshot's flagship
# model with a 1M token context window; the Sonnet, Haiku, and sub-agent
# tiers run the cheaper Kimi K2.7 Code. For a single-model profile,
# import kimi-k3.yaml instead.
#
# The compact window is a per-session setting rather than a per-tier one,
# so it follows the smaller model here (K2.7 Code at 256k). The all-K3
# profile raises it to 1M.
#
# For the China endpoint, after import run `ccode edit-config` and change
# anthropic_base_url: "https://api.moonshot.ai/anthropic"
# to:
# anthropic_base_url: "https://api.moonshot.cn/anthropic"
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/kimi.yaml
#
# ccode will prompt you for the auth token during import.
kimi:
anthropic_base_url: "https://api.moonshot.ai/anthropic"
anthropic_auth_token: "YOUR_KIMI_API_KEY_HERE"
enable_tool_search: "false"
claude_code_auto_compact_window: "262144"
models:
model:
model: "kimi-k3"
name: "Kimi K3"
description: "Moonshot Kimi coding model via ccode"
fable:
model: "kimi-k3"
name: "Kimi K3 (Fable tier)"
description: "Moonshot Kimi coding model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "kimi-k3"
name: "Kimi K3"
description: "Moonshot Kimi coding model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "kimi-k2.7-code"
name: "Kimi K2.7 Code (Sonnet tier)"
description: "Moonshot Kimi coding model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "kimi-k2.7-code"
name: "Kimi K2.7 Code"
description: "Moonshot Kimi coding model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "kimi-k2.7-code"
name: "Kimi K2.7 Code (subagent)"
description: "Moonshot Kimi coding model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Moonshot Kimi K3
Every tier on Kimi K3.
# Example profile: Moonshot Kimi K3 (single model)
# Sign up (international): https://platform.kimi.ai/
# Sign up (China): https://platform.moonshot.cn/
# Docs: https://platform.kimi.ai/docs/guide/claude-code-kimi
#
# This is the pay-per-token Kimi API. If you have a Kimi Code plan
# subscription instead, import kimi-code.yaml - it uses a different
# endpoint and different model IDs.
#
# Every tier runs Kimi K3, Moonshot's flagship model. The [1m] suffix and
# the matching compact window are the pairing Moonshot documents for K3's
# full 1M token context. For a cheaper mix that keeps Kimi K2.7 Code on
# the lower tiers, import kimi.yaml instead.
#
# For the China endpoint, after import run `ccode edit-config` and change
# anthropic_base_url: "https://api.moonshot.ai/anthropic"
# to:
# anthropic_base_url: "https://api.moonshot.cn/anthropic"
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/kimi-k3.yaml
#
# ccode will prompt you for the auth token during import.
kimi-k3:
anthropic_base_url: "https://api.moonshot.ai/anthropic"
anthropic_auth_token: "YOUR_KIMI_API_KEY_HERE"
enable_tool_search: "false"
claude_code_auto_compact_window: "1048576"
models:
model:
model: "kimi-k3[1m]"
name: "Kimi K3 (1M)"
description: "Moonshot Kimi coding model via ccode"
fable:
model: "kimi-k3[1m]"
name: "Kimi K3 (1M, Fable tier)"
description: "Moonshot Kimi coding model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "kimi-k3[1m]"
name: "Kimi K3 (1M)"
description: "Moonshot Kimi coding model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "kimi-k3[1m]"
name: "Kimi K3 (1M, Sonnet tier)"
description: "Moonshot Kimi coding model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "kimi-k3[1m]"
name: "Kimi K3 (1M, Haiku tier)"
description: "Moonshot Kimi coding model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "kimi-k3[1m]"
name: "Kimi K3 (1M, subagent)"
description: "Moonshot Kimi coding model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Kimi Code plan
The Kimi Code subscription plan, which is billed by plan quota rather than per token. It is a different endpoint from the Kimi API above, it uses different model IDs, and it authenticates with anthropic_api_key rather than anthropic_auth_token.
K3 runs at either a 1 million or a 256k token context window, and the 256k variant costs about half the plan quota for the same quality within its window. This profile runs K3-256k on the Fable, Opus, Sonnet, and default tiers, with the cheaper Kimi K2.7 Code on Haiku and sub-agents. Because the context settings are per session rather than per tier, they are pinned to 256k for the models that need it, so there is nothing to gain by putting the 1M variant on the top tier here. The all-K3 profile below is the one to use if you want the 1M window.
# Example profile: Kimi Code plan (mixed tiers)
# Sign up: https://www.kimi.com/code
# Docs: https://www.kimi.com/code/docs/en/third-party-tools/claude-code.html
#
# This is the Kimi Code subscription plan, which is a different endpoint
# and a different set of model IDs from the pay-per-token Kimi API. For
# the API, import kimi.yaml instead.
#
# Note this plan authenticates with anthropic_api_key (the X-Api-Key
# header), not anthropic_auth_token. Create a key in the Kimi Code
# console.
#
# The Fable, Opus, Sonnet, and default tiers run K3-256k, and the Haiku
# and sub-agent tiers run the cheaper Kimi K2.7 Code.
#
# The context settings are per session rather than per tier, so they are
# pinned to 256k for the models that need it. K3-256k is the same K3
# model capped at that window, and within it Moonshot rates the two as
# equivalent while the 1M variant spends about twice the plan quota - so
# there is nothing to gain by putting K3 on the top tier here. If you
# want the 1M window, import kimi-code-k3.yaml, which runs K3 on every
# tier and raises the session settings to match. For the cheapest
# single-model profile, import kimi-code-256k.yaml.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/kimi-code.yaml
#
# ccode will prompt you for the API key during import.
kimi-code:
anthropic_base_url: "https://api.kimi.com/coding/"
anthropic_api_key: "YOUR_KIMI_CODE_API_KEY_HERE"
claude_code_effort_level: "high"
claude_code_auto_compact_window: "262144"
claude_code_max_context_tokens: "262144"
models:
model:
model: "k3-256k"
name: "Kimi K3 (256k)"
description: "Kimi Code plan model via ccode"
fable:
model: "k3-256k"
name: "Kimi K3 (256k, Fable tier)"
description: "Kimi Code plan model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "k3-256k"
name: "Kimi K3 (256k)"
description: "Kimi Code plan model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "k3-256k"
name: "Kimi K3 (256k, Sonnet tier)"
description: "Kimi Code plan model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "kimi-for-coding"
name: "Kimi K2.7 Code"
description: "Kimi Code plan model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "kimi-for-coding"
name: "Kimi K2.7 Code (subagent)"
description: "Kimi Code plan model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Kimi Code plan (K3 1M)
Every tier on K3 with its full 1 million token window, and the session context settings raised to match.
# Example profile: Kimi Code plan, K3 1M (single model)
# Sign up: https://www.kimi.com/code
# Docs: https://www.kimi.com/code/docs/en/third-party-tools/claude-code.html
#
# This is the Kimi Code subscription plan, which is a different endpoint
# and a different set of model IDs from the pay-per-token Kimi API. For
# the API, import kimi.yaml or kimi-k3.yaml instead.
#
# Note this plan authenticates with anthropic_api_key (the X-Api-Key
# header), not anthropic_auth_token. Create a key in the Kimi Code
# console.
#
# Every tier runs K3 with its full 1M token context window, which
# consumes roughly twice the plan quota of the 256k variant. For the
# cheaper 256k variant, import kimi-code-256k.yaml; for a mix, import
# kimi-code.yaml.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/kimi-code-k3.yaml
#
# ccode will prompt you for the API key during import.
kimi-code-k3:
anthropic_base_url: "https://api.kimi.com/coding/"
anthropic_api_key: "YOUR_KIMI_CODE_API_KEY_HERE"
claude_code_effort_level: "high"
claude_code_auto_compact_window: "1048576"
claude_code_max_context_tokens: "1048576"
models:
model:
model: "k3[1m]"
name: "Kimi K3 (1M)"
description: "Kimi Code plan model via ccode"
fable:
model: "k3[1m]"
name: "Kimi K3 (1M, Fable tier)"
description: "Kimi Code plan model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "k3[1m]"
name: "Kimi K3 (1M)"
description: "Kimi Code plan model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "k3[1m]"
name: "Kimi K3 (1M, Sonnet tier)"
description: "Kimi Code plan model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "k3[1m]"
name: "Kimi K3 (1M, Haiku tier)"
description: "Kimi Code plan model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "k3[1m]"
name: "Kimi K3 (1M, subagent)"
description: "Kimi Code plan model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Kimi Code plan (K3 256k)
Every tier on K3-256k, for roughly half the plan quota of the 1M profile.
# Example profile: Kimi Code plan, K3 256k (single model)
# Sign up: https://www.kimi.com/code
# Docs: https://www.kimi.com/code/docs/en/third-party-tools/claude-code.html
#
# This is the Kimi Code subscription plan, which is a different endpoint
# and a different set of model IDs from the pay-per-token Kimi API. For
# the API, import kimi.yaml or kimi-k3.yaml instead.
#
# Note this plan authenticates with anthropic_api_key (the X-Api-Key
# header), not anthropic_auth_token. Create a key in the Kimi Code
# console.
#
# Every tier runs K3-256k, which performs like the 1M variant within a
# 256k context window for roughly half the plan quota. For the full 1M
# window, import kimi-code-k3.yaml; for a mix, import kimi-code.yaml.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/kimi-code-256k.yaml
#
# ccode will prompt you for the API key during import.
kimi-code-256k:
anthropic_base_url: "https://api.kimi.com/coding/"
anthropic_api_key: "YOUR_KIMI_CODE_API_KEY_HERE"
claude_code_effort_level: "high"
claude_code_auto_compact_window: "262144"
claude_code_max_context_tokens: "262144"
models:
model:
model: "k3-256k"
name: "Kimi K3 (256k)"
description: "Kimi Code plan model via ccode"
fable:
model: "k3-256k"
name: "Kimi K3 (256k, Fable tier)"
description: "Kimi Code plan model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "k3-256k"
name: "Kimi K3 (256k)"
description: "Kimi Code plan model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "k3-256k"
name: "Kimi K3 (256k, Sonnet tier)"
description: "Kimi Code plan model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "k3-256k"
name: "Kimi K3 (256k, Haiku tier)"
description: "Kimi Code plan model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "k3-256k"
name: "Kimi K3 (256k, subagent)"
description: "Kimi Code plan model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Alibaba Qwen (DashScope)
Sign up at Alibaba Cloud Model Studio. Qwen3.7-Max is the top model Alibaba serves on its Anthropic-compatible endpoint, which is the one Claude Code talks to.
The cheaper tiers run Qwen3.7-Plus and Qwen3.6-Flash. Alibaba’s doc mirrors disagree on whether the newer Qwen3.8-Max is served on this endpoint, so these examples stay on models both of them list. Alibaba also sells a Coding Plan and a Token Plan, each on its own endpoint and its own model allowlist - both are below.
# Example profile: Alibaba Qwen API (mixed tiers)
# Sign up: https://www.alibabacloud.com/help/en/model-studio/
# Docs: https://www.alibabacloud.com/help/en/model-studio/claude-code
#
# This is the pay-per-token Model Studio API. Alibaba also sells a Coding
# Plan and a Token Plan, each on its own endpoint - import
# qwen-coding-plan.yaml or qwen-token-plan.yaml for those.
#
# The Fable, Opus, and default tiers run Qwen3.7-Max, the top model on
# Alibaba's Anthropic-compatible endpoint; the Sonnet tier runs
# Qwen3.7-Plus and the Haiku and sub-agent tiers run the cheap
# Qwen3.6-Flash. Alibaba's doc mirrors disagree on whether the newer
# Qwen3.8-Max is served here, so this example stays on models both of
# them list. For a single-model profile, import qwen-max.yaml.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/qwen.yaml
#
# ccode will prompt you for the auth token during import.
qwen:
anthropic_base_url: "https://dashscope-intl.aliyuncs.com/apps/anthropic"
anthropic_auth_token: "YOUR_DASHSCOPE_API_KEY_HERE"
models:
model:
model: "qwen3.7-max"
name: "Qwen3.7-Max"
description: "Alibaba Qwen coding model via ccode"
fable:
model: "qwen3.7-max"
name: "Qwen3.7-Max (Fable tier)"
description: "Alibaba Qwen coding model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "qwen3.7-max"
name: "Qwen3.7-Max"
description: "Alibaba Qwen coding model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "qwen3.7-plus"
name: "Qwen3.7-Plus (Sonnet tier)"
description: "Alibaba Qwen coding model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "qwen3.6-flash"
name: "Qwen3.6-Flash"
description: "Alibaba Qwen coding model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "qwen3.6-flash"
name: "Qwen3.6-Flash (subagent)"
description: "Alibaba Qwen coding model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Alibaba Qwen3.7-Max
Every tier on Qwen3.7-Max.
# Example profile: Alibaba Qwen3.7-Max (single model)
# Sign up: https://www.alibabacloud.com/help/en/model-studio/
# Docs: https://www.alibabacloud.com/help/en/model-studio/claude-code
#
# This is the pay-per-token Model Studio API. Alibaba also sells a Coding
# Plan and a Token Plan, each on its own endpoint - import
# qwen-coding-plan.yaml or qwen-token-plan.yaml for those.
#
# Every tier runs Qwen3.7-Max, the top model on Alibaba's
# Anthropic-compatible endpoint. Alibaba's doc mirrors disagree on
# whether the newer Qwen3.8-Max is served here, so this example stays on
# a model both of them list. For a cheaper mix that puts Plus and Flash
# models on the lower tiers, import qwen.yaml instead.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/qwen-max.yaml
#
# ccode will prompt you for the auth token during import.
qwen-max:
anthropic_base_url: "https://dashscope-intl.aliyuncs.com/apps/anthropic"
anthropic_auth_token: "YOUR_DASHSCOPE_API_KEY_HERE"
models:
model:
model: "qwen3.7-max"
name: "Qwen3.7-Max"
description: "Alibaba Qwen coding model via ccode"
fable:
model: "qwen3.7-max"
name: "Qwen3.7-Max (Fable tier)"
description: "Alibaba Qwen coding model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "qwen3.7-max"
name: "Qwen3.7-Max"
description: "Alibaba Qwen coding model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "qwen3.7-max"
name: "Qwen3.7-Max (Sonnet tier)"
description: "Alibaba Qwen coding model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "qwen3.7-max"
name: "Qwen3.7-Max (Haiku tier)"
description: "Alibaba Qwen coding model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "qwen3.7-max"
name: "Qwen3.7-Max (subagent)"
description: "Alibaba Qwen coding model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Alibaba Qwen Coding Plan
The Coding Plan subscription, on its own endpoint, serving Qwen3.7-Plus.
# Example profile: Alibaba Qwen Coding Plan
# Sign up: https://www.alibabacloud.com/help/en/model-studio/
# Docs: https://www.alibabacloud.com/help/en/model-studio/claude-code
#
# This is the Coding Plan subscription, which has its own endpoint and
# serves Qwen3.7-Plus on every tier. For the pay-per-token API, import
# qwen.yaml or qwen-max.yaml; for the Token Plan, import
# qwen-token-plan.yaml.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/qwen-coding-plan.yaml
#
# ccode will prompt you for the auth token during import.
qwen-coding-plan:
anthropic_base_url: "https://coding-intl.dashscope.aliyuncs.com/apps/anthropic"
anthropic_auth_token: "YOUR_DASHSCOPE_API_KEY_HERE"
models:
model:
model: "qwen3.7-plus"
name: "Qwen3.7-Plus"
description: "Alibaba Qwen Coding Plan model via ccode"
fable:
model: "qwen3.7-plus"
name: "Qwen3.7-Plus (Fable tier)"
description: "Alibaba Qwen Coding Plan model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "qwen3.7-plus"
name: "Qwen3.7-Plus"
description: "Alibaba Qwen Coding Plan model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "qwen3.7-plus"
name: "Qwen3.7-Plus (Sonnet tier)"
description: "Alibaba Qwen Coding Plan model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "qwen3.7-plus"
name: "Qwen3.7-Plus (Haiku tier)"
description: "Alibaba Qwen Coding Plan model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "qwen3.7-plus"
name: "Qwen3.7-Plus (subagent)"
description: "Alibaba Qwen Coding Plan model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Alibaba Qwen Token Plan
The Token Plan (Team Edition) subscription, on its own endpoint. The tier mapping matches what Alibaba documents for this plan.
# Example profile: Alibaba Qwen Token Plan (Team Edition)
# Sign up: https://www.alibabacloud.com/help/en/model-studio/
# Docs: https://www.alibabacloud.com/help/en/model-studio/claude-code
#
# This is the Token Plan subscription, which has its own endpoint and its
# own allowlist of model versions. The top tiers run Qwen3.7-Max, the
# Sonnet tier runs Qwen3.7-Plus, and the Haiku and sub-agent tiers run
# the cheap Qwen3.6-Flash - all three are on that allowlist. For the
# pay-per-token API, import qwen.yaml or qwen-max.yaml; for the Coding
# Plan, import qwen-coding-plan.yaml.
#
# The endpoint is region-specific and your Model Studio console shows the
# exact address. If yours is not the ap-southeast-1 (Singapore) host
# below, after import run `ccode edit-config` and change
# anthropic_base_url: "https://token-plan.ap-southeast-1.maas.aliyuncs.com/apps/anthropic"
# to the address your console gives you.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/qwen-token-plan.yaml
#
# ccode will prompt you for the auth token during import.
qwen-token-plan:
anthropic_base_url: "https://token-plan.ap-southeast-1.maas.aliyuncs.com/apps/anthropic"
anthropic_auth_token: "YOUR_DASHSCOPE_API_KEY_HERE"
models:
model:
model: "qwen3.7-max"
name: "Qwen3.7-Max"
description: "Alibaba Qwen Token Plan model via ccode"
fable:
model: "qwen3.7-max"
name: "Qwen3.7-Max (Fable tier)"
description: "Alibaba Qwen Token Plan model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "qwen3.7-max"
name: "Qwen3.7-Max"
description: "Alibaba Qwen Token Plan model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "qwen3.7-plus"
name: "Qwen3.7-Plus (Sonnet tier)"
description: "Alibaba Qwen Token Plan model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "qwen3.6-flash"
name: "Qwen3.6-Flash"
description: "Alibaba Qwen Token Plan model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "qwen3.6-flash"
name: "Qwen3.6-Flash (subagent)"
description: "Alibaba Qwen Token Plan model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
MiniMax
Sign up at minimax.io. MiniMax-M3 is a frontier open-weight coding model with a 1 million token context window and native multimodal input. It is the only model in the M3 line, so every tier runs it.
# Example profile: MiniMax
# Sign up: https://www.minimax.io/
# Docs: https://platform.minimax.io/docs/api-reference/text-anthropic-api
#
# Every tier runs MiniMax-M3, MiniMax's frontier coding model, with a 1M
# token context window. It is the only model in the M3 line, so there is
# no cheaper tier to mix in. The compact window is pinned because the
# endpoint advertises a smaller context than M3 actually serves, which
# is the setting MiniMax's own Claude Code guide uses.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/minimax.yaml
#
# ccode will prompt you for the auth token during import.
minimax:
anthropic_base_url: "https://api.minimax.io/anthropic"
anthropic_auth_token: "YOUR_MINIMAX_API_KEY_HERE"
claude_code_auto_compact_window: "1000000"
models:
model:
model: "MiniMax-M3"
name: "MiniMax M3"
description: "MiniMax coding model via ccode"
fable:
model: "MiniMax-M3"
name: "MiniMax M3 (Fable tier)"
description: "MiniMax coding model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "MiniMax-M3"
name: "MiniMax M3"
description: "MiniMax coding model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "MiniMax-M3"
name: "MiniMax M3"
description: "MiniMax coding model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "MiniMax-M3"
name: "MiniMax M3"
description: "MiniMax coding model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "MiniMax-M3"
name: "MiniMax M3 (subagent)"
description: "MiniMax coding model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Xiaomi MiMo
Sign up at mimo.mi.com. MiMo v2.5 Pro is Xiaomi’s most capable model, with a 1 million token context window and support for very long tool-calling runs.
# Example profile: Xiaomi MiMo
# Sign up: https://mimo.mi.com/
# Docs: https://mimo.mi.com/docs/en-US/quick-start/summary/first-api-call
#
# Every tier runs MiMo v2.5 Pro, Xiaomi's most capable model. The [1m]
# suffix is what Xiaomi documents for the model's full 1M token context;
# drop it if you would rather stay on the smaller default window.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/mimo.yaml
#
# ccode will prompt you for the auth token during import.
mimo:
anthropic_base_url: "https://api.xiaomimimo.com/anthropic"
anthropic_auth_token: "YOUR_MIMO_API_KEY_HERE"
models:
model:
model: "mimo-v2.5-pro[1m]"
name: "Xiaomi MiMo v2.5 Pro"
description: "Xiaomi MiMo coding model via ccode"
fable:
model: "mimo-v2.5-pro[1m]"
name: "Xiaomi MiMo v2.5 Pro (Fable tier)"
description: "Xiaomi MiMo coding model via ccode"
capabilities:
adaptive_thinking: false
opus:
model: "mimo-v2.5-pro[1m]"
name: "Xiaomi MiMo v2.5 Pro"
description: "Xiaomi MiMo coding model via ccode"
capabilities:
adaptive_thinking: false
sonnet:
model: "mimo-v2.5-pro[1m]"
name: "Xiaomi MiMo v2.5 Pro (Sonnet tier)"
description: "Xiaomi MiMo coding model via ccode"
capabilities:
adaptive_thinking: false
haiku:
model: "mimo-v2.5-pro[1m]"
name: "Xiaomi MiMo v2.5 Pro (Haiku tier)"
description: "Xiaomi MiMo coding model via ccode"
capabilities:
adaptive_thinking: false
subagent:
model: "mimo-v2.5-pro[1m]"
name: "Xiaomi MiMo v2.5 Pro (subagent)"
description: "Xiaomi MiMo coding model via ccode"
claude_code_effort_level: "max"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
OpenRouter
Sign up at openrouter.ai. OpenRouter is a gateway to 400+ models (including Claude, GPT, Gemini, DeepSeek, Llama, and many more) behind a single Anthropic-compatible API endpoint. You can use specific model IDs (like anthropic/claude-opus-5) or create presets on their website.
Anthropic’s current lineup is Claude Fable 5 (the top tier), Claude Opus 5, Claude Sonnet 5, and Claude Haiku 4.5. The example below puts Fable 5 on the Fable tier and Opus 5 on the Opus and default tiers - note Fable costs about 2x Opus per token.
Because every vendor sits behind one endpoint, this is also the way to mix vendors across tiers today: point the Fable and Opus slots at moonshotai/kimi-k3 and the Sonnet and Haiku slots at z-ai/glm-4.7, for instance.
# Example profile: OpenRouter
# Sign up: https://openrouter.ai/
# Docs: https://openrouter.ai/anthropic
#
# Anthropic's current lineup is Claude Fable 5 (the top tier), Claude
# Opus 5, Claude Sonnet 5, and Claude Haiku 4.5. This example puts Fable
# on the Fable tier and Opus 5 on the Opus and default tiers - note Fable
# costs about 2x Opus per token.
#
# OpenRouter fronts every vendor behind one endpoint, so you can also mix
# vendors across tiers: point fable and opus at moonshotai/kimi-k3 and
# sonnet and haiku at z-ai/glm-4.7, for example.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/openrouter.yaml
#
# ccode will prompt you for the auth token during import.
openrouter:
anthropic_base_url: "https://openrouter.ai/api"
anthropic_auth_token: "YOUR_OPENROUTER_API_KEY_HERE"
models:
model:
model: "anthropic/claude-opus-5"
name: "Claude Opus 5"
description: "Claude model via OpenRouter"
fable:
model: "anthropic/claude-fable-5"
name: "Claude Fable 5"
description: "Claude model via OpenRouter"
opus:
model: "anthropic/claude-opus-5"
name: "Claude Opus 5"
description: "Claude model via OpenRouter"
sonnet:
model: "anthropic/claude-sonnet-5"
name: "Claude Sonnet 5"
description: "Claude model via OpenRouter"
haiku:
model: "anthropic/claude-haiku-4.5"
name: "Claude Haiku 4.5"
description: "Claude model via OpenRouter"
subagent:
model: "anthropic/claude-haiku-4.5"
name: "Claude Haiku 4.5 (subagent)"
description: "Claude model via OpenRouter"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
OpenRouter (custom preset)
Presets let you configure model selection and provider preferences once on OpenRouter’s side, then reference the result by slug.
# Example profile: OpenRouter (custom preset)
# Sign up: https://openrouter.ai/
# Docs: https://openrouter.ai/anthropic
#
# Presets let you configure model selection and provider preferences once on
# OpenRouter's side, then reference the result by slug. To use this profile:
# 1. Create a preset at https://openrouter.ai/workspaces/default/presets
# (e.g. choose "DeepSeek V4 Pro" under Model Selection, then under
# Provider Preferences pick "only: DeepSeek" - up to you).
# 2. Note the preset slug it gives you.
# 3. Import this file, then run `ccode edit-config` and replace
# "@preset/your-preset-slug" with your real "@preset/<slug>" string.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/openrouter-preset.yaml
#
# ccode will prompt you for the auth token during import.
openrouter-preset:
anthropic_base_url: "https://openrouter.ai/api"
models:
model:
model: "@preset/your-preset-slug"
name: "OpenRouter Preset"
description: "Custom OpenRouter preset via ccode"
fable:
model: "@preset/your-preset-slug"
name: "OpenRouter Preset"
description: "Custom OpenRouter preset via ccode"
opus:
model: "@preset/your-preset-slug"
name: "OpenRouter Preset"
description: "Custom OpenRouter preset via ccode"
sonnet:
model: "@preset/your-preset-slug"
name: "OpenRouter Preset"
description: "Custom OpenRouter preset via ccode"
haiku:
model: "@preset/your-preset-slug"
name: "OpenRouter Preset"
description: "Custom OpenRouter preset via ccode"
subagent:
model: "@preset/your-preset-slug"
name: "OpenRouter Preset (subagent)"
description: "Custom OpenRouter preset via ccode"
anthropic_auth_token: "YOUR_OPENROUTER_API_KEY_HERE"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
Local and self-hosted models
Point anthropic_base_url at your local server. Several tools support the Anthropic Messages API format natively:
- llama.cpp - native
/v1/messagessupport, most complete implementation (github.com/ggml-org/llama.cpp) - vLLM - native
/v1/messagessince v0.4 (github.com/vllm-project/vllm) - Ollama - Anthropic-compatible endpoint (ollama.com)
- LM Studio - Anthropic-compatible endpoint (lmstudio.ai)
For tools that only speak OpenAI format, run a translation proxy like LiteLLM (github.com/BerriAI/litellm).
You will likely need to disable some Anthropic-specific features for local models. The example below sets the most common three.
# Example profile: Local or self-hosted model
# Point this at any tool exposing /v1/messages: llama.cpp, vLLM, Ollama, LM Studio.
# For tools that only speak OpenAI format, run LiteLLM as a translation proxy
# (https://github.com/BerriAI/litellm).
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/local.yaml
#
# ccode will prompt you for the local server URL during import.
#
# This file uses "your-local-model" as a placeholder in all six model slots.
# After import, run `ccode edit-config` and replace "your-local-model" with
# your real model name in each slot. (Local setups generally use the same model
# everywhere, so a single find/replace is enough.)
local:
anthropic_base_url: "http://localhost:8080/v1"
anthropic_auth_token: "not-needed"
models:
model:
model: "your-local-model"
name: "Local Model"
description: "Locally hosted model via ccode"
fable:
model: "your-local-model"
name: "Local Model"
description: "Locally hosted model via ccode"
opus:
model: "your-local-model"
name: "Local Model"
description: "Locally hosted model via ccode"
sonnet:
model: "your-local-model"
name: "Local Model"
description: "Locally hosted model via ccode"
haiku:
model: "your-local-model"
name: "Local Model"
description: "Locally hosted model via ccode"
subagent:
model: "your-local-model"
name: "Local Model (subagent)"
description: "Locally hosted model via ccode"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
DISABLE_INTERLEAVED_THINKING: "1"
CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK: "1"
Organization gateway
If your company runs an internal proxy/gateway for Claude Code (typically with one shared auth token mapped to per-team budgets and quotas), point a profile at it the same way as a third-party provider.
# Example profile: Organization-wide LLM gateway
# Use this when your company runs an internal proxy/gateway for Claude Code,
# usually with one shared auth token mapped to per-team budgets/quotas.
#
# Add to your config with:
# ccode add-profile --from-url https://ccode.kronis.dev/configuration-examples/gateway.yaml
#
# ccode will prompt you for the gateway URL and auth token during import.
#
# Useful as a generic starter, or as a template for orgs to host their own
# version of this YAML (typically on the internal network with the gateway URL
# pre-filled, so employees only get prompted for the auth token).
#
# The model names below are Anthropic's current lineup. Gateways usually
# accept the same names, but if yours renames or restricts models, run
# `ccode edit-config` after import and set each slot to a name it serves.
#
# The profile is named org-gateway because "gateway" is a Claude Code
# subcommand, and a profile by that name could never be selected with a
# --gateway shortcut.
org-gateway:
anthropic_base_url: "https://llm-gateway.internal.example.com/anthropic"
anthropic_auth_token: "YOUR_GATEWAY_TOKEN_HERE"
models:
model:
model: "claude-opus-5"
name: "Claude Opus 5"
description: "Claude model via org gateway"
fable:
model: "claude-fable-5"
name: "Claude Fable 5"
description: "Claude model via org gateway"
opus:
model: "claude-opus-5"
name: "Claude Opus 5"
description: "Claude model via org gateway"
sonnet:
model: "claude-sonnet-5"
name: "Claude Sonnet 5"
description: "Claude model via org gateway"
haiku:
model: "claude-haiku-4-5"
name: "Claude Haiku 4.5"
description: "Claude model via org gateway"
subagent:
model: "claude-haiku-4-5"
name: "Claude Haiku 4.5 (subagent)"
description: "Claude model via org gateway"
env:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1"
For org distribution, host your own copy of this YAML on your internal network with the gateway URL pre-filled, so employees only get prompted for the auth token.
Common gotchas
| Issue | Fix |
|---|---|
| “Unexpected value(s) for the anthropic-beta header” | Set CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1" in env: |
| Provider doesn’t support interleaved thinking | Set DISABLE_INTERLEAVED_THINKING: "1" in env: |
| Streaming fallback fails | Set CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK: "1" in env: |
| Edit patches don’t land cleanly | Non-Claude models may struggle with Claude Code’s diff format. Try smaller scopes. |
Community resources
For an actively maintained reference of model IDs, pricing, and per-provider configs, see the Alorse/cc-compatible-models repo on GitHub.