MeowKit

Claude Agent Models

Which Claude model each agent in the Claude Code toolkit is pinned to, why, and how to change it.

When you install the Claude Code target (mewkit init), every bundled agent ships with a model pinned in its frontmatter. This is the per-agent counterpart to the session-level tier routing in Model Routing: the session model follows task complexity, while a subagent always runs on the model its own role needs.

The Codex and Cursor bundles do the same thing in their own vocabulary — see Codex Agent Models and Cursor Agent Models.

How the mapping works

Each agent file at .claude/agents/<name>.md carries a model: field:

.claude/agents/planner.md
---
name: planner
description: Product and engineering planning agent...
tools: Read, Grep, Glob, Bash, Edit, Write
model: claude-opus-5
---

Agents are grouped into four tiers by what the work actually demands:

Tiermodel: valueUse for
Advisoryfable (resolves to claude-fable-5)Open-ended reframing where the strongest model earns its cost.
Deepclaude-opus-5High-value coding, design judgement, adversarial review, and load-bearing knowledge work.
StandardsonnetMulti-step reasoning and operational judgement inside an explicit workflow guard.
BoundedhaikuProcedural, template-led, wrapper-driven, or evidence-aggregation work.

The deep tier pins an exact model id rather than the opus tier alias: those agents depend on one specific model's capability, which a tier alias — "whatever the heavy tier resolves to today" — cannot express. The other tiers use aliases, so they track the model the account is currently entitled to.

Lowering a tier never lowers a gate. Confirmation prompts, dry-run requirements, scope checks, and wrapper validation are independent of model selection.

Core and delivery agents

AgentModelWhy
advisorfableReframing and one consequential recommendation are deep knowledge work.
plannerclaude-opus-5Planning shapes every subsequent phase.
developerclaude-opus-5Production coding, integration, and self-healing need strong coding ability.
architectclaude-opus-5ADR, schema, auth, API, and infrastructure trade-offs are load-bearing.
reviewerclaude-opus-5Gate 2 review needs adversarial reasoning and regression detection.
securityclaude-opus-5Threat modelling and BLOCK verdicts make a false negative expensive.
evaluatorclaude-opus-5Runtime evidence, rubric judgement, and design-quality assessment.
brainstormerclaude-opus-5Evaluates alternatives and second-order architectural effects.
ui-ux-designerclaude-opus-5Design, accessibility, responsive behaviour, and visual judgement.
orchestratorsonnetRoutes every task and reads complexity, but does not implement.
explorehaikuRead-only search and orientation: bounded lookups that report path:line evidence.
testersonnetTest design and failure diagnosis inside a clear workflow.
researchersonnetSource comparison and trade-off synthesis.
analystsonnetSession and cost trends need real data analysis.
journal-writersonnetEvidence-led root cause and prevention narrative.
project-managerhaikuSchema-led evidence aggregation and status reporting.
documenterhaikuBounded synchronization of docs, changelogs, and API descriptions.
shipperhaikuCheck, branch, PR, and CI work is tool-verifiable and procedural.
git-managerhaikuNarrow Git operations governed by a safety checklist.
story-sizerhaikuDeterministic Fibonacci heuristic and a fixed report template.

Jira and Confluence agents

Integration agents run behind a validated CLI wrapper, so most are bounded enough for the haiku tier. The exceptions synthesize evidence, interpret partial failures, or can damage a source-of-truth system.

AgentModelWhy
jira-analystclaude-opus-5Full ticket, comment, link, and media synthesis; may produce an RCA.
jira-evaluatorclaude-opus-5Complexity, contradiction, and dependency analysis is judgement-heavy.
jira-estimatorclaude-opus-5Qualitative estimation needs precedent comparison and calibrated escalation.
confluence-spec-analystclaude-opus-5Multi-page, image-backed spec synthesis: gaps, ACs, and stories.
jira-adminsonnetBroad administration needs policy-consistent judgement; confirmation contains blast radius.
jira-bulksonnetJQL, dry-run, and partial-failure interpretation across many issues.
jira-jsmsonnetPublic/internal boundary, customer data, SLAs, and approvals.
jira-lifecyclesonnetDynamic workflow, required fields, and resolution checks.
jira-collaboratesonnetPublic vs internal comment and notification judgement.
jira-devsonnetBranch and PR artifacts need correct technical synthesis.
confluence-bulksonnetDry-run interpretation and large-scope operation reporting.
confluence-pagesonnetSemantic updates, version restoration, and macro-loss warnings.
jira-agilehaikuWrapper-led agile CRUD with confirmation when closing sprints.
jira-searchhaikuStructured JQL, search, filter, and export with mandatory sanitization.
jira-issuehaikuSingle-issue CRUD inside a bounded wrapper protocol.
jira-relationshipshaikuFormatted link, unlink, and clone operations with verification.
jira-fieldshaikuField discovery and ID verification are procedural.
jira-opshaikuRead-heavy cache and project-context diagnostics.
jira-timehaikuRead-confirm-write worklog operations.
confluence-collaboratehaikuBounded comments, attachments, labels, and watchers.
confluence-searchhaikuDeterministic CQL search, pagination, and export.

Accepted model: values

ValueMeaning
inheritRun on whatever model the session is using.
opus / sonnet / haikuTier aliases — resolve to the account's current model for that tier.
fable, claude-opus-5Named profiles — an exact model id, registered in the toolkit's model taxonomy.

A value outside this set fails mewkit validate --agents with model "<value>" is not in the taxonomy. To pin a different exact id, register it as a named profile in packages/mewkit/src/migrate/model-taxonomy.ts first — that table is the single place a model rename has to be edited.

Account-tier caveat

claude-opus-5 and claude-fable-5 require an account entitled to those models. If a plan cannot run one, the agent fails at spawn time — change the affected agents to a tier alias (sonnet) or to inherit.

Operating policy

  1. Verify account entitlement before relying on a pinned exact id.
  2. Judge a tier by outcome, not token cost: missed architectural or security issues and review recall for the deep tier; correct workflow selection and confirmation compliance for standard; tool-call correctness and schema compliance for bounded.
  3. Promote a bounded agent when it misroutes an action, mishandles an ambiguous query, or needs repeated remediation.
  4. Run a representative evaluation per tier before treating a re-tiering as settled.

Changing an agent's model

Edit the model: field in the agent file:

.claude/agents/jira-issue.md
---
name: jira-issue
model: haiku   # inherit | opus | sonnet | haiku | a registered named profile
---

See also

On this page