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.

Updated 2026-10-28

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 auto by 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 example claude-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 on means the auto mode is active and classifier requests will be sent; ⏸ manual mode on means manual approval.

  • In the dashboard usage statistics, look at the per-model rows: the claude-sonnet-5 request 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+Tab in Claude Code: from auto, 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.defaultMode in 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-5 has 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

Enterprise →