Choose a model
Most deployments run one model for almost everything and reach for a different one in a few places - a cheaper model for a high-volume classifier, a stronger one for the agent that writes the customer-facing summary. AXL is built around that shape: there is a fleet-wide default, and any agent can override it with a single line.
Configure a provider first, then name a model in agent.toml only when that agent needs
something other than the default.
# axl-config/agents/researcher/agent.toml
key = "researcher"
display_name = "Researcher"
description = "Researches a question and returns a sourced answer"
model = "claude-sonnet-4.5"Providers and the registry
The server only constructs providers whose credentials are present, so a missing key means a
quietly absent provider rather than a crash on first use. Set LLM_PROVIDER and the matching API
key for your default provider.
To see what is actually available, ask the server:
curl -s "$AXL_HOST/api/v1/models" -H "Authorization: Bearer $TOKEN"That list comes from AXL's curated registry in axl-config/models.toml, not from a live fetch of
each vendor's catalog. Adding a model or changing its pricing is a config edit plus a restart.
Amazon Bedrock is the exception to the credential pattern - it uses the AWS credential chain and
must be enabled separately.
Match the model to the job
Two capabilities are worth checking before you commit an agent to a model:
- An agent with
toolsneeds a model that supports tool calling. - An agent that reads pictures needs a model the registry marks as vision-capable. See Work with images for why the registry, and not the provider, is the authority.
Reasoning
Reasoning is set per agent:
[reasoning]
level = "medium"AXL only sends a reasoning parameter when the registry says the model supports one, so this is
safe to leave in place while you switch models. The behavior is not uniform across vendors:
several current Anthropic models use adaptive thinking, and an always-reasoning model such as
Kimi K3 maps off to its cheapest reasoning level rather than genuinely disabling thought.
Running a model on your own machine
An open-weight model served locally is just another provider. Point the generic
OpenAI-compatible provider at localhost and use the model id in agent.toml exactly as you
would a hosted one. The registry ships a [local] section for models that fit on a single
workstation, and every entry in it is selectable per agent without a rebuild.
This avoids API costs when exercising an agent's tool loop, and it keeps prompts off third-party infrastructure entirely.
The catch is real, though: the local server has to emit tool calls while streaming, and not all of them do. Local model setup covers which servers qualify, how to install them, and how to size a model to your memory.
Next
- Local model setup - run an open-weight model on your own hardware.
- LLM failover - keep answering when a provider has a bad day.
- Amazon Bedrock - credentials, model access, and inference profiles.
- - provider variables and catalog behavior.