Skip to content

Choose providers and models

Agent steps get their model from a profile (profiles/<name>@<n>.yaml). A profile either names a model (name: claude-opus-5.5) or says name: default, which leaves the choice to the server (AZHI_ANTHROPIC_MODEL, AZHI_OPENAI_MODEL, AZHI_COPILOT_MODEL, AZHI_CHATGPT_MODEL).

A choice applies only to steps whose profile says name: default. A step that names its own provider and model keeps them, whatever is chosen.

WhereEffect
Workflow editor: Default provider and modelSaved as model_defaults: {provider, name} on every run of that version
Workflow page Start run: Model for this runOverrides the workflow default for one run (and its subworkflows)
CLIazhi run ... --provider github-copilot --model gpt-5.6-terra
CLI planazhi plan ... --provider anthropic shows the plan under a choice
APIPOST /v1/runs with model_defaults; GET /v1/model-options lists providers and models

Precedence, highest first: the run’s choice, the workflow’s model_defaults, the server’s default for the profile’s own provider.

Provider idExecutor that can drive itCredential
anthropicmodel agent, OpenCode, Claude Agent SDKanthropic-api-key, or claude-plan-token for the SDK
openaimodel agent, OpenCode, Codex (experimental)openai-api-key
github-copilotOpenCodegithub-copilot-token
openai-chatgptOpenCodeopenai-chatgpt-auth

When the provider changes, the step uses the new provider’s own credential. A choice a step’s executor cannot drive is marked unsupported in the run plan and the run is refused.

Each agent step lists its provider, model and where it came from: named by the step, server default, workflow default or chosen for this run. See it on the workflow page, in the editor, and in the runner.

AI-SDLC pins its code reviewer, test reviewer, security reviewer and verifier to different models on purpose. Choosing github-copilot / claude-opus-5.5 for a run changes the analyst, architect, engineer and other default-model steps, and leaves those four alone.

An example’s azhi.config.yaml marks settings required: true or optional. azhi example needs <id> prints the checklist; azhi example install <id> prints it first and stops, changing nothing, when a required value is missing.