Choose models and spend ceilings
Pick the orchestrator tier, decide on sub-agents, pin all three deployments, and size the ceilings from a measured run.
Before you startClaude deployments in your Foundry resource. Run `az cognitiveservices account deployment list` to see their names.View as Markdown
Three separate decisions
| Decision | Where it lands | Default if you have no view |
|---|---|---|
| Orchestrator tier: the model that runs the skill | CLAUDE_AGENT_MODEL on the version: opus, sonnet or haiku, resolved through the pins | What the skill runs on locally. A skill that pins no model runs on the author's session model, usually Sonnet. |
| Sub-agents: may the brain delegate with Task | disallowed_tools in runner.build_options | Off. Enable only when SKILL.md itself delegates. |
| Deployment pins | ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL, ANTHROPIC_DEFAULT_HAIKU_MODEL | Pin all three to deployments that exist, even if only one tier is used. |
- Opus for judgment-heavy work, Sonnet for method-following work at about half the cost, Haiku only for trivial skills.
- Task stays off for a skill that never delegates. With the tool available, such a skill can still fan out into parallel sub-agents and exhaust the sandbox, and the run dies with no envelope.
- An unpinned tier falls back to a deployment name that may not exist, and the run fails mid-way, after spend.
- Haiku appears in usage even when nothing chose it: WebFetch summarizes fetched pages with a small model. Its tokens are real and show on their own marker.
.env
ANTHROPIC_DEFAULT_OPUS_MODEL=<opus-deployment-name>
ANTHROPIC_DEFAULT_SONNET_MODEL=<sonnet-deployment-name>
ANTHROPIC_DEFAULT_HAIKU_MODEL=<haiku-deployment-name>
CLAUDE_AGENT_MODEL=sonnetRelative cost
Illustrative, from a research-and-write skill. Measure your own.
| Orchestrator | Relative cost | Notes |
|---|---|---|
| Sonnet | 1× | Tens of turns, 25 to 35 minutes |
| Opus | About 2× | More turns than Sonnet, not fewer |
| Opus, improvising without the skill | About 4× | The prompt led with a command and the method never loaded |
Ceilings
MAX_TURNSandMAX_USD_PER_RUNat about 1.5× a measured run. For a Sonnet run of about 90 turns, that'sMAX_TURNS=160and a dollar ceiling about twice the measured cost.RUN_TIMEOUT_SECONDSat 2× or more of the wall clock, and at least 300 s below the session idle timeout.- Session idle timeout at the 3600 maximum.
- A ceiling below one full run makes "partial" the designed steady state.
- Re-measure after changing the orchestrator tier.
Prices in AMC
AMC prices each step by its model and tokens from the token prices you configure. A model with no price is priced at a generic default rate, which is wrong for Claude. Add a price for every deployment name the agent can report, including Haiku when WebFetch is allowed. When a marker carries the SDK's own cost_usd, AMC uses it.
Related
Last updated 2026-10-21