Skip to main content

Providers

Ante is provider-agnostic. Each provider implements a common interface for sending prompts and receiving streaming responses. Providers are resolved from a catalog at session init time.

Built-in providers

ProviderWire FormatModels
AnthropicMessages APIClaude family (haiku-4-5, sonnet-4-5, sonnet-4-6, opus-4-6)
Anthropic SubscriptionMessages APIClaude family (OAuth)
OpenAIResponses APIGPT-5 family
OpenAI CompatibleChat CompletionsCustom models
OpenAI SubscriptionResponses APIGPT-5 family (OAuth via Codex)
GeminiGemini APIGemini 3.1 family
Vertex AI GeminiGemini APIGemini 3.1 family
Grok (xAI)Responses APIGrok 4
ZaiOpenAI-compatibleGLM-5.1
Open RouterOpenAI-compatibleMultiple providers
DeepSeekOpenAI-compatibleDeepSeek V4 family
Ali Coding PlanMessages APIQwen, Kimi, GLM, MiniMax via DashScope
AntixAnthropic MessagesClaude, GPT, Gemini, Qwen via Antigma
LocalOpenAI-compatibleGGUF models via llama.cpp

Provider identifiers

IDProvider
anthropicAnthropic (Claude)
anthropic-subscriptionAnthropic Subscription (Pro/Max)
openaiOpenAI (GPT)
openai-compatibleOpenAI Compatible
openai-subscriptionOpenAI Subscription
geminiGoogle Gemini
vertex-geminiVertex AI Gemini
openrouterOpen Router
xaiGrok (xAI)
zaiZai
deepseekDeepSeek
ali-coding-planAli Coding Plan
antixAntix (API key)
antix-subscriptionAntix (OAuth)
localLocal models via llama.cpp

Selecting a provider

You can set your provider in three ways (in order of precedence):

  1. CLI flagante --provider anthropic --model claude-sonnet-4-5
  2. Settings file — Set provider and model in ~/.ante/settings.json
  3. Built-in default — Anthropic with Claude Sonnet

Authentication

ProviderAuth Method
AnthropicANTHROPIC_API_KEY env var or OAuth
Anthropic SubscriptionOAuth
OpenAIOPENAI_API_KEY env var or OAuth
OpenAI CompatibleOPENAI_COMPATIBLE_API_KEY env var
OpenAI SubscriptionOAuth
GeminiGEMINI_API_KEY env var
Vertex AI GeminiVERTEX_GEMINI_API_KEY env var
GrokXAI_API_KEY env var
ZaiZ_AI_API_KEY env var
Open RouterOPENROUTER_API_KEY env var
DeepSeekDEEPSEEK_API_KEY env var
Ali Coding PlanALI_CODING_PLAN_API_KEY env var
AntixANTIX_API_KEY env var or OAuth
LocalNo authentication needed
tip

Anthropic, OpenAI, and Antix also support interactive OAuth flows through the TUI.

Model details

Anthropic (Claude)

ante --provider anthropic --model claude-sonnet-4-5

Available models: claude-haiku-4-5, claude-sonnet-4-5, claude-sonnet-4-6, claude-opus-4-6

OpenAI

ante --provider openai --model gpt-5.4

Available models: gpt-5.4, gpt-5.4-pro, gpt-5.3-codex, gpt-5-mini, gpt-5-nano

OpenAI transports

The openai and openai-subscription providers can stream responses two ways:

TransportEndpointDefault
http_sse (HTTP + SSE)https://api.openai.com/v1/responses (or the subscription equivalent)
websocket_auto (persistent WebSocket)wss://.../v1/responsesopt-in

WebSocket mode keeps one connection open per session and continues each turn with previous_response_id plus only the new input items. In long agentic tool loops this eliminates per-turn round-trip latency. See OpenAI's WebSocket mode guide for the underlying protocol.

Opt in via the process-scoped env var (default is http_sse):

ANTE_OPENAI_TRANSPORT=websocket_auto ante --provider openai --model gpt-5-mini

Accepted values: http_sse, websocket_auto. Unknown values warn and fall back to http_sse.

Notes:

  • WS only engages on streaming turns (TUI sessions). Headless --prompt mode uses non-streaming chat() and bypasses WS by design.

  • Any transient WS failure (connect timeout, network blip) falls back to HTTP/SSE for that turn — users never see hard errors caused by the transport choice. Auth failures (401/403) flip the entire session to HTTP/SSE for the rest of its lifetime.

  • Works against both api.openai.com (API-key) and the ChatGPT subscription backend at chatgpt.com/backend-api/codex.

  • To verify which transport is active: in debug builds, toggle the debug panel (Ctrl+L) and check the Info tab for the OpenAI Transport: line. Otherwise grep your session log for transport selected:

    grep "transport selected" ~/.ante/logs/ante.*.log.*

Google Gemini

ante --provider gemini --model gemini-3.1-pro-preview

Available models: gemini-3.1-flash-lite-preview, gemini-3.1-pro-preview

Vertex AI Gemini

ante --provider vertex-gemini --model gemini-3.1-pro-preview

Grok (xAI)

ante --provider xai --model grok-4-latest

Zai

ante --provider zai --model glm-5.1

Open Router

ante --provider openrouter --model anthropic/claude-sonnet-4.6

Available models: anthropic/claude-opus-4.6, anthropic/claude-sonnet-4.6, google/gemini-3.1-pro-preview, openai/gpt-5.4-pro, deepseek/deepseek-v4-flash, deepseek/deepseek-v4-pro

DeepSeek

ante --provider deepseek --model deepseek-v4-flash

Available models: deepseek-v4-flash, deepseek-v4-pro. Set DEEPSEEK_API_KEY (and optionally DEEPSEEK_BASE_URL).

Ali Coding Plan

ante --provider ali-coding-plan --model qwen3.5-plus

Available models: qwen3.5-plus, qwen3.6-plus, kimi-k2.5, glm-5.1, MiniMax-M2.5, qwen3-max-2026-01-23, qwen3-coder-plus, qwen3-coder-next

Requires a Coding Plan subscription and API key (format: sk-sp-xxxxx). Not all models are available on the default Anthropic wire endpoint — to use the OpenAI-compatible endpoint, add a custom catalog entry:

{
"providers": {
"ali-coding-plan-oai": {
"name": "ali-coding-plan-oai",
"display_name": "Ali Coding Plan (OpenAI)",
"base_url": "https://coding.dashscope.aliyuncs.com/v1",
"auth": {
"bearer": {
"env_key": "ALI_CODING_PLAN_API_KEY"
}
},
"wire_style": "OpenAiCompatible",
"http_headers": {
"User-Agent": "ante-cli/1.0.0",
"X-DashScope-UserAgent": "coding-agent"
}
}
},
"models": {}
}

Antix

ante --provider antix --model claude-sonnet-4-6

Available models: gemini-3.1-flash-lite-preview, gemini-3.1-pro-preview, qwen3.6-plus, claude-haiku-4-5, claude-sonnet-4-6, gpt-5.4, gpt-5.3-codex. Use --provider antix-subscription for OAuth-backed access.

Local models

Run GGUF models locally via the built-in llama.cpp engine. No API keys or internet required. See Offline Mode for setup details.

ante --provider local

Standalone models

These specs are registered globally so you can pin them under any compatible provider (e.g. via --provider openai-compatible):

ModelDescriptionContext
qwen3.6-plusLatest Qwen 3.6 Plus model1M
qwen3.5-plusMost powerful Qwen visual model1M
qwen-plusFast and capable1M
kimi-k2.5Kimi K2.5 reasoning model262K
MiniMax-M2.5MiniMax M2.5 model200K

Custom catalog

Create ~/.ante/catalog.json to add or override providers and models:

{
"providers": {
"my-provider": {
"name": "my-provider",
"display_name": "My Provider",
"base_url": "https://api.example.com/v1",
"auth": { "bearer": { "env_key": "MY_PROVIDER_API_KEY" } },
"wire_style": "OpenAiCompatible"
}
},
"models": {
"my-model": {
"name": "my-model",
"description": "Custom model",
"max_tokens": 32000,
"context_limit": 200000,
"thinking": "Enabled"
}
}
}

Supported wire styles: AnthropicMessage, OpenAiCompatible, OpenAiResponse, Gemini.

Supported thinking modes: Disabled, Enabled, Deep, Max.

Third-party & custom providers

Using Open Router

  1. Sign up at openrouter.ai and generate an API key.
  2. Set your API key:
    export OPENROUTER_API_KEY="sk-or-..."
  3. Use any model from Open Router's model list:
    ante --provider openrouter --model deepseek/deepseek-reasoner

OpenAI-compatible providers

Many LLM providers expose an OpenAI-compatible API (e.g., Together AI, Fireworks, Groq Cloud, Perplexity):

  1. Set the base URL — the per-provider variable takes precedence over MODEL_BASE_URL:
    export OPENAI_COMPATIBLE_BASE_URL="https://api.together.xyz/v1"
  2. Set your API key:
    export OPENAI_COMPATIBLE_API_KEY="your-provider-api-key"
  3. Run with the OpenAI Compatible provider:
    ante --provider openai-compatible --model meta-llama/Llama-3-70b-chat-hf
tip

Each preset provider also honors a dedicated base-URL env var: ANTHROPIC_BASE_URL, OPENAI_BASE_URL, OPENAI_COMPATIBLE_BASE_URL, DEEPSEEK_BASE_URL. These take precedence over the global MODEL_BASE_URL.

tip

When using third-party providers, make sure the model supports tool use (function calling). Ante relies on tool use for its agent capabilities.

warning

Not all models work equally well as coding agents. If you experience issues, try a larger or more capable model.