Skip to main content

Models

Action Llama supports 8 LLM providers. Each agent can use a different provider and model — configure a project-wide default in config.toml under [model], and override per agent in agent-config.toml.

[model] Fields

FieldTypeRequiredDescription
providerstringYesProvider name (see table below)
modelstringYesModel ID
authTypestringYes"api_key", "oauth_token", or "pi_auth"
thinkingLevelstringNoReasoning budget (Anthropic only)

Providers

Anthropic

Claude models with optional extended thinking.
[model]
provider = "anthropic"
model = "claude-sonnet-4-20250514"
thinkingLevel = "medium"
authType = "api_key"
ModelDescription
claude-opus-4-20250514Most capable, best for complex multi-step tasks
claude-sonnet-4-20250514Balanced performance and cost (recommended)
claude-haiku-3-5-20241022Fastest and cheapest
Credential: anthropic_key (field: token) Auth types:
authTypeToken formatDescription
api_keysk-ant-api-...Standard Anthropic API key
oauth_tokensk-ant-oat-...OAuth token from claude setup-token
pi_auth(none)Uses existing pi auth credentials (~/.pi/agent/auth.json). No credential file needed.
Note: pi_auth is not supported in Docker mode. Switch to api_key or oauth_token for containerized runs. Thinking level: Anthropic is the only provider that supports thinkingLevel. Valid values:
LevelDescription
offNo extended thinking
minimalMinimal reasoning
lowLight reasoning
mediumBalanced (recommended)
highDeep reasoning
xhighMaximum reasoning budget
If omitted, thinking is not explicitly configured. For other providers, thinkingLevel is ignored.

OpenAI

[model]
provider = "openai"
model = "gpt-4o"
authType = "api_key"
ModelDescription
gpt-4oFlagship multimodal model (recommended)
gpt-4o-miniSmaller, faster, cheaper
gpt-4-turboPrevious generation
o1-previewReasoning model
o1-miniSmaller reasoning model
Credential: openai_key (field: token)

Groq

[model]
provider = "groq"
model = "llama-3.3-70b-versatile"
authType = "api_key"
ModelDescription
llama-3.3-70b-versatileLlama 3.3 70B on Groq inference
Groq runs open-source models at high speed. Check Groq’s docs for the full list of available model IDs. Credential: groq_key (field: token)

Google Gemini

[model]
provider = "google"
model = "gemini-2.0-flash-exp"
authType = "api_key"
ModelDescription
gemini-2.0-flash-expFast experimental model
Check Google AI Studio for the full list of available model IDs. Credential: google_key (field: token)

xAI

[model]
provider = "xai"
model = "grok-beta"
authType = "api_key"
ModelDescription
grok-betaGrok beta
Credential: xai_key (field: token)

Mistral

[model]
provider = "mistral"
model = "mistral-large-2411"
authType = "api_key"
ModelDescription
mistral-large-2411Mistral Large (November 2024)
Check Mistral’s docs for the full list of available model IDs. Credential: mistral_key (field: token)

OpenRouter

OpenRouter provides access to models from many providers through a single API.
[model]
provider = "openrouter"
model = "anthropic/claude-3.5-sonnet"
authType = "api_key"
Model IDs use the provider/model format. See OpenRouter’s model list for all available models. Credential: openrouter_key (field: token)

Custom

For any provider not listed above. The model ID and API routing are handled by the underlying pi.dev agent harness.
[model]
provider = "custom"
model = "your-model-name"
authType = "api_key"
Credential: custom_key (field: token)

Mixing Models

Each agent can use a different model. Define a project default in config.toml, then override in specific agents:
config.toml          → [model] provider = "anthropic", model = "claude-sonnet-4-20250514"
dev/agent-config.toml     → (no [model] section — inherits Claude Sonnet)
reviewer/agent-config.toml → [model] provider = "openai", model = "gpt-4o"
devops/agent-config.toml   → [model] provider = "groq", model = "llama-3.3-70b-versatile"
If an agent defines its own [model] section, it fully overrides the project default — there is no field-level merging.

Credential Setup

Each provider requires a corresponding credential in ~/.action-llama/credentials/. Run al doctor to configure them interactively. The LLM credential does not need to be listed in your agent’s credentials array — it is loaded automatically based on the [model] config. The credentials array is for runtime credentials the agent uses during execution (GitHub tokens, SSH keys, etc.). See Credentials for the full credential reference.