Why Claude Sonnet 5 Appears in Your Usage
Picked Sonnet 5.5 but see claude-sonnet-5 in your usage? Claude Code's auto permission mode sends safety checks to Sonnet 5. Why, how to check, how to reduce.
Need an API key? Sign up →Endpoints & base URLs →
On This Page
You chose Claude Sonnet 5.5 (or Opus) in Claude Code, but the usage statistics in your
dashboard also list claude-sonnet-5? Usually this is not a wrong model setting and the
requests were not switched to another model: these are safety-check requests that Claude Code itself sends in the background.
Where these Sonnet 5 requests come from¶
In the auto permission mode, before Claude Code runs an action that needs approval (such as a shell command, or an edit outside
the working directory), it first hands that step to a separate classifier for review: clearly out-of-scope actions are blocked,
everything else runs without asking you. Claude Code's official documentation says:
By default, classifier requests go to Claude Sonnet 5.
What to know:
- You may never have turned it on: since Claude Code 2.1.283, interactive terminal sessions and VS Code start in
autoby default. -
These requests count toward your usage: classifier requests are sent with your API key, so they appear in your usage and cost as
claude-sonnet-5. Your main conversation stays under the model you picked (for exampleclaude-sonnet-5-5). -
What a single request looks like: the classifier reads the current session context to make its decision, so the input can be sizeable while the output is usually very short. The more commands run, the more of these requests you will see.
For the full mechanism, see the section on the auto mode in Feature Availability.
How to check¶
-
Look at the status bar under the Claude Code input box:
⏵⏵ auto mode onmeans theautomode is active and classifier requests will be sent;⏸ manual mode onmeans manual approval. -
In the dashboard usage statistics, look at the per-model rows: the
claude-sonnet-5request count grows with the number of commands you run, and each request has very few output tokens.
How to reduce these requests (optional)¶
The classifier is a safety feature of Claude Code, and there is nothing wrong with keeping it. If you want fewer of these requests, the most direct way is to switch to another permission mode:
-
Press
Shift+Tabin Claude Code: fromauto, one press switches to manual approval (the status bar shows⏸ manual mode on). Actions that need approval will ask you directly, and no classifier request is sent. -
At startup:
claude --permission-mode default. - Permanently: set
permissions.defaultModein a settings file; see Permission Modes.
In addition, since Claude Code 2.1.302 the environment variable CLAUDE_CODE_AUTO_MODE_MODEL selects the classifier model
(use a full model ID). According to the official documentation:
-
if you set it to Claude Opus 5, Sonnet 5.5 or Opus 5.5, the default classifier model reviews instead, so setting
claude-sonnet-5-5has no effect; -
if you set a model your provider cannot serve, classifier checks fail and Claude Code denies every action it checks.
FAQ¶
Were my requests switched to Sonnet 5?
No. Usage is recorded under the model Claude Code actually sends. Your claude-sonnet-5-5 requests are recorded as
claude-sonnet-5-5; the claude-sonnet-5 part comes from the classifier.
I am not in auto, but I still see claude-sonnet-5.
First check the status bar for the current mode (in plan mode, shell commands during planning may also be reviewed by the
classifier). Then check whether claude-sonnet-5 is set somewhere as the default or subagent model, for example via /model,
ANTHROPIC_MODEL or ANTHROPIC_DEFAULT_SONNET_MODEL.
How are these requests billed? Like any other request, by tokens; per-model prices are on qcode.cc/models, and the billing rules are in Billing.
Get started with QCode
One API key for Claude Code, Codex and more — billed per token, per-model prices on qcode.cc/models