# Use Claude Code's Opus plan and Sonnet execution route, then check the work and usage
> Use Claude Code's opusplan route on a bounded repository issue, review the plan and code change, and compare whole-session usage only when the baseline and result qualify.
By BIGCHANGE.AI Editorial
Published: 2026-10-23T13:24:39.095Z
Updated: 2026-10-23T13:24:39.095Z
Canonical: https://bigchange.ai/blog/claude-code-opusplan-checked-usage-guide

AI-generated conceptual illustration by BIG CHANGE. No actual Claude Code session, model request, repository edit, test or saving is depicted.
Claude Code's `opusplan` setting uses Opus in Plan Mode and Sonnet after plan approval, according to [Anthropic's model documentation](https://code.claude.com/docs/en/model-config). That route can be useful for a coding issue that needs careful planning and a bounded implementation. Whether it lowers usage or cost depends on the actual models reached, the complete work done, and a comparable baseline. This guide takes one authorized repository task from an observed failure through plan, approval, edit, review and a whole-session usage record. It is based on documentation checked October 23, 2026; BIG CHANGE did not run Claude Code, change a repository or incur a provider charge for this article.
## The big change
- **What changed:** One Claude Code session can route planning to Opus and implementation to Sonnet at the Plan Mode boundary. The user still decides whether the proposed plan is sound before editing starts.
- **Why it matters:** A developer can test a division of work between two model families on an actual issue while keeping the code change and acceptance checks in one reviewable task. The route alone says nothing about correctness or total cost.
- **What to watch:** The decisive evidence is the approved plan, actual model and fallback observations, complete diff and checks, and usage from the entire session. Only a quality-matched, attributable baseline supports a saving for that task.
## Prepare a task and check the route
Use a repository you are authorized to send to the selected Claude provider. Pick a bounded issue with a recorded failure and exact acceptance checks, such as a named failing test and its expected result. Save the starting commit, branch and `git status`; explain any existing changes. Decide which files and tools the task needs and where code may be sent. Work on a reviewable branch. A reader-owned repository and its real tests are enough for this procedure; a supplied sample project or paid editorial trial is unnecessary.
Before starting, record your Claude Code version, account or plan, effective provider, endpoint and region or deployment where applicable. Use `/model` and `/status` to inspect the selected route and [model configuration](https://code.claude.com/docs/en/model-config). Check managed, project and user settings, startup overrides, `ANTHROPIC_DEFAULT_OPUS_MODEL`, `ANTHROPIC_DEFAULT_SONNET_MODEL`, `modelOverrides` and `availableModels`. The family aliases can resolve to different versions and provider IDs. On the Anthropic API and Claude Platform on AWS, a current client can use an older permitted Opus when the newest is excluded; on Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry and Mantle, excluding the upgrade model can leave planning on the session model. Client behavior has also changed by version. Confirm that the account can reach both intended families and note any fallback notice. A configuration display alone does not prove which model handled each request.
Inspect `/permissions` for this working directory and the actual [permission mode](https://code.claude.com/docs/en/permission-modes). Check account or provider spending controls if you need a hard cap. A prompt that names allowed files or a budget tells the agent what you want; it does not enforce filesystem, network or billing limits. Plan Mode blocks source edits but permits exploratory shell work. Depending on auto-mode availability and `useAutoModeDuringPlan`, a classifier may review planning commands or commands outside the built-in read-only set may prompt. Use a session without bypass permissions for the manual approval path described below. [Anthropic's permissions guide](https://code.claude.com/docs/en/permissions) explains the effective rules.
If you intend to claim a saving, arrange a qualified baseline before interpreting any numbers. It needs the same issue and starting state, acceptance criteria, effort, context, tools, provider and region, and billing basis. Keep it in an isolated session. Running the same already-solved issue a second time changes the task context. You can complete the guide without a baseline and report that comparison as unavailable.
## Plan, approve and check one change
1. In the authorized repository, start a fresh CLI session with `claude --model opusplan --permission-mode plan`. Alternatively, select `opusplan` in `/model` and use `Shift+Tab` until the Plan Mode indicator appears. Confirm the mode and route with `/model` and `/status`. Record the time and initial **Session** block of `/usage`; distinguish it from rolling plan or account bars. If the installed client or account lacks the route, stop and investigate availability before calling the run an Opus-to-Sonnet test.
2. Give Claude the issue, observed failure, allowed scope, desired behavior and exact acceptance commands **before** it proposes a plan. Ask it to inspect the relevant code and propose the smallest files, steps, checks and risks. Save the plan. Review it against your task and reject unsupported changes. Choose **No, keep planning** when it needs revision. The planning phase is Opus only when `opusplan` actually resolves that way; the word “plan” in a prompt cannot set model routing.
3. At the plan prompt, deliberately choose **Yes, manually approve edits** to inspect each proposed edit. The displayed **Yes, and use auto mode** option starts auto mode when available; its wording and behavior can differ by session. Avoid a bypass choice. [Anthropic says plan approval exits Plan Mode and starts editing](https://code.claude.com/docs/en/permission-modes#review-and-approve-a-plan). There is no guaranteed second prompt in which to add implementation scope. Record the approval choice, mode transition and any visible planning and execution model IDs or fallback notices. If only the configured alias is visible, mark the actual two-model route unverified.
4. Inspect the full `git diff` and `git status`, including any unrequested files. Record the exact commands Claude ran and their exit codes. Run or verify the original acceptance checks yourself and inspect the resulting behavior. Repair failures within the authorized scope, then review the revised diff and rerun the affected checks. Keep review, retries and rework inside the usage boundary. A lower token count does not make a failed change acceptable. A commit, pull request, merge or deployment needs its own normal decision.
5. Read the final `/usage` **Session** block before ending that same isolated session. Record input, output, cache read and cache write tokens by model where exposed, plus any classifier, background or subagent work that can be attributed. [Anthropic's cost guide](https://code.claude.com/docs/en/costs#using-the-usage-command) calls its session dollar figure a local estimate; an organization may configure contracted rates, while the API bill comes from the provider's billing surface. On subscription plans, that dollar figure is not an incremental charge. A stale or account-wide display cannot stand in for this task's measured usage.
6. Compare only after the route and quality checks pass. For each matching metric with a positive baseline, calculate `(baseline - opusplan) / baseline`, showing units and the two inputs. A negative result means the route used more of that metric. Different cache state, context, provider, billing terms, task result or unattributed work makes the figures descriptive only. One controlled result, even when valid, describes that task rather than a universal saving.
Copy this record before starting. Fill actual observations; leave unknown fields unknown. The task prompt belongs in the planning request, before approval.
```text
TASK AND STARTING STATE
Repository and authorized branch:
Starting commit and git status:
Issue and observed failure:
Expected behavior and exact acceptance commands:
Permitted files/tools and approved provider code destination:
Actions requiring separate authorization (for example push, merge or deploy):
Claude Code version, account/plan, provider, endpoint and region/deployment:
Effective /permissions, starting mode and actual spend control:
Opus/Sonnet family remaps, modelOverrides, availableModels and startup override:
Written time/usage intention (instruction, not enforced cap):
START: claude --model opusplan --permission-mode plan
Alternative: select opusplan in /model; Shift+Tab until Plan Mode is visible.
Initial time and /usage Session reading:
PLANNING PROMPT, SENT BEFORE APPROVAL
Inspect [specific issue] in [permitted area]. The observed failure is
[actual result]; the expected behavior is [result]. Propose the smallest
plan, affected files, risks and exact checks [commands]. Do not edit during
planning. After I approve the plan, implement only that scope, run those
checks, report commands and exit codes, and stop before any action that
needs separate authorization. I will review the complete diff.
RUN AND REVIEW
Plan Mode indicator; /model and /status configuration:
Planning-phase actual model/request evidence or fallback, if visible:
Saved plan and correction, if any:
Approval choice and time (manual edits / displayed auto choice / keep planning):
Execution mode and actual model/request evidence or fallback, if visible:
Routing verdict (Opus then Sonnet observed / unverified / single-model hold):
Complete diff and human review result:
Exact acceptance commands, exit codes and observed behavior:
Rework, retries, review, classifier/background/subagent work included:
Quality verdict (pass / fail / unresolved):
Final time and same-session /usage Session reading:
Whole-task input/output/cache-read/cache-write units by model, if visible:
/usage locally estimated dollars, if shown (not a bill):
Actual API/provider billing source or subscription usage display, separately:
Unattributed units, stale display or account-wide mixing:
COMPARISON
Qualified isolated baseline available (yes / no):
Baseline route, start state, checks, effort, context, tools, provider/region,
billing basis, and quality result:
Differences that defeat comparison:
Baseline metric and unit (positive):
Opusplan metric in the same unit:
Valid calculation, if qualified: (baseline - opusplan) / baseline =
Conclusion (this task's measured change / no baseline / quality failed /
route unverified / usage unattributable):
Next code review, commit or PR decision, only if actually taken:
```
## Recover from a hold
If planning stayed on Sonnet or execution reached an unexpected model, check the installed version, provider-specific model IDs, allowlist, overrides and fallback notice. Preserve the plan and record a single-model or unverified result. If edits escaped the agreed scope, stop, inspect Git's diff and revert only the affected local changes through ordinary source control; investigate external side effects separately. If `/usage` cannot isolate the full task, retain the code-quality result and report no measured saving.
Claude Code's account plans, model aliases, prices and approval options change. Refresh them for the actual provider and session. The related [BIG CHANGE guide to an Opus-to-Haiku subagent](https://bigchange.ai/blog/claude-code-opus-haiku-subagent-coding-guide) covers delegated work with separate worker evidence; [our installation guide](https://bigchange.ai/blog/claude-code-native-install-mac-windows-first-read-guide) covers getting to a first authorized project read. Neither supplies a usage baseline for this route.
## Sources & further reading
- [Anthropic, Model configuration](https://code.claude.com/docs/en/model-config), undated current documentation checked October 23, 2026. Documents `opusplan`, model selection and provider-dependent allowlists and fallbacks. It describes intended routing; this article did not observe a model request.
- [Anthropic, Choose a permission mode](https://code.claude.com/docs/en/permission-modes), undated current documentation checked October 23, 2026. Documents Plan Mode, shell command treatment, approval choices and the immediate transition to editing.
- [Anthropic, Configure permissions](https://code.claude.com/docs/en/permissions), undated current documentation checked October 23, 2026. Documents effective tool permissions and inspection; the reader must check their own organization and directory.
- [Anthropic, Manage costs effectively](https://code.claude.com/docs/en/costs), undated current documentation checked October 23, 2026. Explains the `/usage` Session block, local dollar estimate, subscription displays and authoritative billing distinction. No usage or saving was measured here.
- [Anthropic, Common workflows](https://code.claude.com/docs/en/common-workflows), undated current documentation checked October 23, 2026. Supports planning before code changes and validating the result on the actual task.
- [Anthropic, Security](https://code.claude.com/docs/en/security), undated current documentation checked October 23, 2026. Explains code and data handling and permission responsibilities; it does not approve a particular repository for a provider.
## Sources
- [Anthropic: Model configuration](https://code.claude.com/docs/en/model-config) — Undated current manual checked October 23, 2026. The opusplan section documents Opus planning, Sonnet execution, version and provider-dependent allowlist behavior, and model selection controls. Describes intended routing; no request trace was observed for this guide.
- [Anthropic: Choose a permission mode](https://code.claude.com/docs/en/permission-modes) — Undated current manual checked October 23, 2026. Documents CLI and Shift+Tab Plan Mode, exploratory shell/classifier behavior, approval options and the immediate transition to editing. Exact controls depend on session availability.
- [Anthropic: Configure permissions](https://code.claude.com/docs/en/permissions) — Undated current manual checked October 23, 2026. Documents effective tool rules and /permissions inspection. A written allowed-file list or budget does not enforce access or billing.
- [Anthropic: Manage costs effectively](https://code.claude.com/docs/en/costs) — Undated current manual checked October 23, 2026. /usage Session token categories and dollar estimate are local displays; provider API billing and subscription usage need separate interpretation. No actual bill or saving was measured here.
- [Anthropic: Common workflows](https://code.claude.com/docs/en/common-workflows) — Undated current manual checked October 23, 2026. Supports planning before edits and verifying the resulting code task; it is not a cost benchmark.
- [Anthropic: Security](https://code.claude.com/docs/en/security) — Undated current manual checked October 23, 2026. Explains code and data handling and permission responsibilities; does not establish authorization for any reader repository.
The BIG CHANGE newsletter
The big picture. At your pace.
Recent stories on AI and robotics, the shifts worth watching and practical ideas to use. Choose a daily briefing, weekly digest or monthly perspective.
Next scheduled send (UTC): . Your first edition arrives at the next scheduled send after you confirm.
Your privacy, your choice.
Necessary storage supports site security and remembers your choices. Optional Google Analytics stays off until you allow it. You can read every story with necessary storage only. Privacy details