GSD Core Model Profiles: Tiers, Routing, and Effort
Assign model tiers to agents with built-in profiles, use dynamic routing to escalate on failure, and tune per-agent effort for cost-effective AI usage.
GSD Core assigns a model tier to each of its specialized agents based on the active model profile. Rather than running every agent on the most expensive model, profiles let you allocate compute intentionally — Opus for the agents where reasoning quality drives the outcome, Sonnet for workhorses, and Haiku for fast scanners and mappers. Dynamic routing and effort control let you push that further: start cheap and escalate only when an agent fails its quality gate.
Set model_profile in config.json or switch profiles instantly with /gsd-config --profile <name>.
quality
balanced
budget
adaptive
inherit
Uses Opus for all decision-making agents and Sonnet for verification. Best for quota-rich environments and critical architecture work where output quality is the top priority.
Uses Opus for planning agents only and Sonnet for everything else. The default profile for most development work — strong planning quality at a reasonable cost.
Uses Sonnet for code-writing and Haiku for research and verification. Ideal for high-volume work, less critical phases, or when API costs are a constraint.
Biases toward Opus for agents where reasoning quality matters most (planner, debugger) and Haiku for lightweight tasks. A middle path between quality and budget.
All agents use the current session model. Use this for non-Anthropic providers (OpenRouter, local models) or when you want to control the model entirely from your runtime’s configuration.
The table below shows how the five most-used agents resolve under each profile. The tier names (Opus, Sonnet, Haiku) are resolved to runtime-native model IDs when runtime is set in config.json.
Agent
quality
balanced
budget
adaptive
inherit
gsd-planner
Opus
Opus
Sonnet
Opus
Inherit
gsd-executor
Opus
Sonnet
Sonnet
Sonnet
Inherit
gsd-phase-researcher
Opus
Sonnet
Haiku
Sonnet
Inherit
gsd-verifier
Sonnet
Sonnet
Haiku
Sonnet
Inherit
gsd-codebase-mapper
Sonnet
Haiku
Haiku
Haiku
Inherit
The full catalog covers all 33 shipped agents with explicit per-profile tier assignments. These five represent the most frequently invoked agents during a standard phase lifecycle.
Override individual agents without changing the profile for everything else. This is useful when you want one agent to use a more powerful model than the profile assigns.
The models block lets you tune at the phase level without knowing individual agent names. Specify a tier for each phase type and GSD applies it to all agents in that category.
Dynamic routing lets agents start on a cheaper tier and escalate automatically when the orchestrator detects a soft failure (plan-check FLAG, verification inconclusive). Enable it with dynamic_routing.enabled: true.
Control the reasoning effort of each agent invocation independently of model tier. The universal effort ladder is:
minimal < low < medium < high < xhigh < max
Effort is rendered per-runtime: output_config.effort for Claude, model_reasoning_effort for Codex. Cross-provider clamping applies: max is Anthropic-only and clamps to xhigh on Codex; minimal is Codex-only and clamps to low on Claude.
Model policy presets let you pick a provider family and a budget level, and have GSD materialize the concrete (opus, sonnet, haiku) tier mappings for you — no need to spell out every model ID by hand. Use a preset when you want a known-good mapping for a given vendor; fall back to generic when you want full control over individual model IDs.
Declares the model provider. Known providers unlock catalog-backed presets. generic treats all model IDs as opaque strings — no prefix inference, no reasoning-effort defaults.
model_policy.budget
enum
high, medium, low
Selects a budget tier when using a known provider. GSD materializes the matching catalog preset into explicit tier mappings at resolve time. Ignored when provider is generic.
GSD ships two Anthropic-family presets so you can decide whether to stay on the standard Opus 4.8 lineup or opt into Claude Fable 5 for top-tier routing. Both presets share the Sonnet 4.6 and Haiku 4.5 fallback tiers; they only differ at the high end.
Provider
Budget
high
medium
low
anthropic
high
claude-opus-4-8
claude-opus-4-8
claude-sonnet-4-6
anthropic
medium
claude-opus-4-8
claude-sonnet-4-6
claude-haiku-4-5
anthropic
low
claude-haiku-4-5
claude-haiku-4-5
claude-haiku-4-5
anthropic-fable
high
claude-fable-5
claude-fable-5
claude-sonnet-4-6
anthropic-fable
medium
claude-opus-4-8
claude-sonnet-4-6
claude-haiku-4-5
anthropic-fable
low
claude-haiku-4-5
claude-haiku-4-5
claude-haiku-4-5
Use anthropic-fable when you want Claude Fable 5 — an Opus-tier model with a 1M-token context window, 128K max output, and adaptive thinking at the xhigh effort level — to handle high-budget Opus and Sonnet routing. The medium and low budgets fall back to the same Opus 4.8 / Sonnet 4.6 / Haiku 4.5 mix as the standard anthropic preset, so opting in only affects the top tier.
Claude Fable 5 is available through Anthropic direct, Anthropic on Vertex AI, Amazon Bedrock, and OpenRouter. Make sure your selected runtime can reach at least one of those providers before switching to the anthropic-fable preset.
If you set context_window: 1000000 to use Claude Fable 5’s full 1M-token window, GSD also enables adaptive context enrichment (deeper SUMMARY.md and anti-pattern reads).