Profile Overview
Three profiles control the quality/cost tradeoff:Switching Profiles
Quick switch
Interactive configuration
Per-Agent Model Breakdown
Quality Profile
Use when: You need maximum quality and have quota available.
Balanced Profile (Default)
Use when: You want high quality with reasonable token usage (recommended).
Budget Profile
Use when: High token volume, prototyping, or less critical phases.
Notice that even in budget mode, the debugger stays Sonnet. Finding root causes is important enough to justify the quality.
Which Agents Use Which Models
Planning agents
Why planner gets Opus in balanced: Plans determine everything that follows. An Opus plan + Sonnet execution beats Sonnet plan + Opus execution.
Research agents
Toggle: Set
workflow.research: false to skip research entirely.
Execution agents
Why Sonnet is enough: Executors follow explicit XML plans. With good plans, Sonnet executes reliably.
Utility agents
Cost Considerations
Token usage patterns
Execution uses the most tokens because each plan gets a fresh 200K context. This is where budget profile helps most.
Example milestone cost
- Quality Profile
- Balanced Profile (Default)
- Budget Profile
Milestone: 8 phases, ~15 plans total
- Project init: 4 Opus researchers × 50K = 200K Opus
- Planning (8 phases): 32 Opus researchers × 100K = 3.2M Opus
- Planning overhead: 8 Opus planners × 50K = 400K Opus
- Execution: 15 Opus executors × 200K = 3M Opus
- Verification: 8 Sonnet verifiers × 30K = 240K Sonnet
When to Use Each Profile
1
Start with balanced
The default profile is well-tuned. Opus planning + Sonnet execution is the sweet spot for most work.
2
Upgrade to quality if...
- Working on production-critical systems
- Domain is complex or unfamiliar
- Architectural decisions are high-stakes
- You have Opus quota to spare
3
Downgrade to budget if...
- Prototyping or experimental work
- Domain is very familiar
- High volume of phases to execute
- Token budget is constrained
- Working on less critical features
Mixing Profiles
You can switch profiles mid-milestone:Workflow Toggle Interaction
Model profiles work with workflow toggles:- Budget + all agents on - Cheaper models, full process
- Balanced + research off - Good models, skip research
- Budget + research/verify off - Fastest/cheapest, minimal guardrails
Per-Command Overrides
Some commands support per-invocation overrides:Model Selection Logic
GSD resolves models at runtime:- Read
.planning/config.jsonformodel_profile - Look up agent in profile mapping
- Resolve model name from profile
- Pass to
Task()invocation
Best Practices
Do:
- Start with balanced (it’s the default for good reason)
- Upgrade to quality for critical phases
- Switch profiles freely based on phase importance
- Disable research in familiar domains (bigger win than profile change)
Don’t:
- Use quality everywhere (token costs explode)
- Use budget for complex/critical work (quality suffers)
- Change profiles mid-phase (finish what you started)
- Obsess over profiles (focus on good plans instead)
Troubleshooting
”Plans seem wrong”
This is usually a planning issue, not a model issue:- Run
/gsd:discuss-phase Nto clarify preferences - Check if
CONTEXT.mdcaptured your vision - Try
/gsd:list-phase-assumptions Nto spot misalignment
”Execution produces stubs”
This is usually a plan scope issue, not a model issue:- Check if plan has >3 tasks (too ambitious)
- Verify tasks are atomic and clear
- Consider breaking phase into smaller phases
”Research feels shallow”
This might be a model issue:Configuration File
Profile is stored in.planning/config.json:
/gsd:settings to update interactively.