Model routing
Envelope automatically selects the right AI model for each agent in your team. You don't have to think about it — but you can override any agent's model conversationally when you want a different trade-off.
How it works
When you create a team, each agent needs a model to run on. Rather than asking you to pick one, Envelope reads the agent's role description and its position in the team hierarchy and picks a sensible default from a set of tiered options.
The result: your orchestrating analyst gets a capable frontier model; your formatting agent that cleans up output gets a fast efficient one. Same team, different spend per agent, better overall quality-to-cost ratio.
Tiers and models
| Tier | Model | When it fires |
|---|---|---|
| Reasoning | o4-mini | Role contains words like verify, validate logic, chain of thought, multi-step |
| Frontier | gpt-5.4 | Root orchestrators, analysts, senior/principal agents, agents that plan, decide, review, or synthesise |
| Balanced | claude-sonnet-4-5 | Default for agents with no strong signal — the safest middle ground |
| Efficient | gpt-5-mini | Agents that classify, triage, route, extract, format, summarise |
| Fast | gpt-5-nano | Agents that label, tag, sort, rank, filter, or detect — simple, high-volume work |
Hierarchy fallback: if the role doesn't match any keyword pattern, root agents (no supervisor) default to Frontier and leaf agents (report to someone) default to Efficient.
Reading the model in Observability
After a run, open the Observability tab and look at the By Agent table. Each row shows which model ran for that agent and whether it was auto-routed or manually set.
- Muted pill — model was chosen automatically by routing
- Blue pill — model was set manually via a chat override
This gives you a clear view of where money is being spent and whether the routing choices look right for your team.
Overriding a model
Say something in the room thread. The assistant maps what you say to a concrete model and persists the override for all future runs — no settings panel, no JSON editing.
Common phrases:
- "Switch the researcher to a faster model" → sets
gpt-5-mini - "Make the analyst smarter" → sets
gpt-5.4 - "Use Claude Opus for the writer" → sets
claude-opus-4-5 - "Put the formatter on the cheapest model" → sets
gpt-5-nano - "Give the planner a reasoning model" → sets
o4-mini - "Reset the writer back to auto" → clears the override, routing takes over again
The override is per-agent, per-install — so if you have multiple installs of the same team template, each can have its own model choices.
Note: Per-agent overrides are currently workspace-only — there is no API endpoint for setting a model per agent programmatically. If you are installing via the API and want to override the model for all agents at once, you can pass a
modelfield at install time:POST /installswith"model": "openai:gpt-5-mini". This sets the same model across every agent in the install. For per-agent control, use the room thread.
Available models for overrides
| Model | Provider | Good for |
|---|---|---|
| gpt-5.4 | OpenAI | Best general quality — analysis, synthesis, complex reasoning |
| claude-opus-4-5 | Anthropic | Frontier alternative — similar quality with a different voice |
| claude-sonnet-4-5 | Anthropic | Balanced — strong quality, lower cost |
| gpt-5-mini | OpenAI | Efficient — classification, extraction, formatting |
| claude-haiku-4-5 | Anthropic | Efficient alternative — fast and cheap |
| gpt-5-nano | OpenAI | Fastest/cheapest — labels, tags, simple decisions |
| o4-mini | OpenAI | Reasoning — verification, multi-step logic |
| o3 | OpenAI | Heavy reasoning — complex long-horizon tasks |
When to override vs let it auto-route
Auto-routing is right for most teams. The cases where you'd want to override:
Override to frontier when:
- The default choice isn't handling nuance well — output quality is low
- The agent is doing genuine synthesis across large amounts of context
- A leaf agent is being asked to do surprisingly complex work
Override to efficient when:
- A root agent is doing a simple, well-defined task (e.g. a single-agent email sender)
- You're running at high volume and cost matters
- You've validated the output quality and want to optimise
Override to reasoning when:
- The agent is doing multi-step verification or structured planning
- You're seeing logical errors in output that more powerful generation doesn't fix
Reset to auto when:
- You made an override during testing and want routing to take back over
- You updated the agent's role and want routing to re-evaluate
Existing teams
Teams created before model routing was introduced have explicit model fields in their definition — routing doesn't fire for those agents. If you want them to use auto-routing, ask the assistant to "reset the model for [agent] back to auto" in the room thread.