Models and Pricing 9 min read

Is Opus 5.5 Nerfed? How to Check Which Model Your Claude Code Session Actually Ran

Is Opus 5.5 nerfed? How to check which model your Claude Code session used, what the safeguards fallback does and what Anthropic has said.

Shabnam Katoch

Shabnam Katoch

Growth Head

Is Opus 5.5 nerfed cover: a model card with a question mark and a magnifying glass over the Opus 5.5 safeguards log line

Before you blame the model, check which model answered. Two commands and one log line settle most of it.

CheckWhereWhat it tells you
Which models answered/cost (alias of /usage), "Usage by model" linesEvery model that billed tokens this session
Current model and version/statusThe model your next message goes to
Effort level/effort statusOpus 5.5 defaults to medium
Model per replymessage.model in ~/.claude/projects/<project>/<session-id>.jsonlWhich model wrote each reply (internal format)
Safeguards flagA line naming safeguards with Details: [cyber]A classifier flagged the request

Picture this: it's Thursday afternoon. The refactor Opus 5.5 handled cleanly last month now comes back half done, twice, and your usage bar is climbing faster than it should.

They nerfed it. They must have.

Maybe. Or your session quietly moved to Opus 4.8 an hour ago, compacted while you were in a meeting, or runs at an effort level you never chose. Each leaves a trace you can read in five minutes.

We read the Claude Code docs, the changelog, Anthropic's help centre, its status page and the open GitHub issues on 10 November 2026. Here is what is documented and how to check your own sessions.

Is Opus 5.5 nerfed, or is your session running something else?

Since early November, a wave of Claude Code users has reported the same cluster of symptoms. Answers feel shallower, multi-step tasks stall, and sessions burn through plan usage faster. If you're hitting walls sooner, our guide to the Claude rate limit reached error decodes each limit message.

Some also mention refusals on ordinary coding work. GitHub issue #108497 on anthropics/claude-code, opened 9 November, describes an Opus 5.5 session on Windows where a cybersecurity flag stopped every turn on work the reporter says had nothing to do with security.

Here's the thing. "It feels worse" can come from at least five places, and only one is the model itself. The rest are documented things Claude Code does around the model.

A nerf is a claim about the model. Most of what people feel is a claim about the session. Check the session first.

The safeguards fallback: when Opus 5.5 hands your work to another model

Opus 5.5 runs with safety classifiers, most often triggered by cybersecurity and biology content. Anthropic's Opus 5.5 announcement of 22 September said "most cybersecurity tasks will be re-routed to Opus 4.8." The Claude Code model configuration docs spell out the targets:

Model that refusedCyber flag re-runs onBiology flag re-runs on
Opus 5.5Opus 4.8Opus 5
Fable modelsOpus 4.8Opus 5
Sonnet 5.5Sonnet 5Refusal, no fallback
Opus 5Opus 4.8Refusal, no fallback

The part that matters for "it got dumber": after a fallback, the session continues on the fallback model. Anthropic's help centre article on why Claude switched models says the picker "stays on the less capable model for the rest of the conversation." Run /model to go back.

Is Opus 5.5 nerfed diagram: request, safeguards check, flag, re-run on Opus 4.8 or Opus 5, session stays on the fallback

Two more documented details explain a lot of "it was fine yesterday" reports.

First, the flag can fire on the very first request, before you type anything unusual. That request carries your CLAUDE.md and git status, so a repo with security or biology material can trip the classifier on context alone. Start a session with claude --safe-mode to test whether a customization is the trigger.

Second, the fallback keeps the effort level of the flagged request. A session on Opus 5.5 at its default medium that falls back to Opus 4.8 stays at medium, although Opus 4.8 defaults to high. So you can end up on an older model at a lower effort than it would normally run.

If you'd rather decide each time, run /config, open "Switch models when a message is flagged" and choose "Ask each time", or set this in your settings file:

{
  "switchModelsOnFlag": false
}

To turn the automatic switch off entirely, set CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK=1. For agents that route around these flags, our breakdown of Opus 5.5 cost and the rerouting problem covers what a silent switch does to an unattended workflow.

What "safeguards stopped the response above" means

The log line people paste looks like this, character for character, from GitHub issue #108497:

Opus 5.5's safeguards stopped the response above · continuing once with that noted

It starts with the name of the model that flagged the request. On Opus 5.5 it was followed by an error that names the category:

API Error: Opus 5.5's safeguards flagged this session (https://www.anthropic.com/legal/aup).
[...] Claude Code can't respond to your last message with Opus 5.5.

Double press esc to edit your last message, or try a different model with /model.

Details: `[cyber]`

Read literally, the first line says the model's safeguards cut off a response and Claude Code is trying once more. The Details tag names the classifier that fired. The Claude Code errors page confirms that on Opus 5.5 and Sonnet 5.5 this family of messages opens with <model>'s safeguards flagged this session.

Here's the twist. In #108497 the session did not fall back: the error came back on seven turns in a row, and the reporter stayed on Opus 5.5.

Issue #108506, filed by the same reporter about an hour later, shows the same errors, starting on Sonnet 5.5. Both were open with no Anthropic reply when we checked.

Claude Code 2.1.321, released 9 November, lists a fix for "the fallback model sometimes declining a request or mentioning a stopped response when the first model was blocked before replying." That may be related, but Anthropic hasn't linked it to either issue. Update first, then judge. Run claude update and check the version with claude --version.

What to do when you see the line:

  1. Press Esc twice or run /rewind to step back before the flagged turn, then rephrase or split the sensitive step out.
  2. If you can't find the trigger, run /clear for a fresh conversation. The old one stays in /resume.
  3. If the work wasn't about security, run /feedback to report the false positive.

How to check which model ran in your Claude Code session

Run /cost. It's an alias for /usage, and the Session block lists usage by model, one line per model. If claude-opus-4-8 or claude-opus-5 shows up in a session you thought was all Opus 5.5, you've found your fallback.

Claude Code 2.1.285 fixed a bug where /cost could file a turn under the wrong model after a refusal, so trust it only on a current version.

Run /status to see the model your next message goes to, and /effort status for the effort level.

For a reply-by-reply view, read the transcript. Claude Code stores each session as JSONL at ~/.claude/projects/<project>/<session-id>.jsonl, and each assistant entry carries the model that wrote it. These commands read it (checked against Claude Code 2.1.322 on 10 November):

# Count replies per model in one session
jq -r 'select(.type=="assistant") | .message.model' \
  ~/.claude/projects/<project>/<session-id>.jsonl | sort | uniq -c

# See when the model changed
jq -r 'select(.type=="assistant") | [.timestamp, .message.model] | @tsv' \
  ~/.claude/projects/<project>/<session-id>.jsonl | uniq -f1

# See when the session compacted
jq -r 'select(.type=="system" and .subtype=="compact_boundary") | .timestamp' \
  ~/.claude/projects/<project>/<session-id>.jsonl

If every reply came from one model, the first command prints a single line with that model id and a count. One caveat: Anthropic's sessions docs say the entry format "is internal to Claude Code and changes between versions." Treat these as a quick check, and prefer /cost when it answers the question.

Is Opus 5.5 nerfed diagram: a transcript entry with the message.model field highlighted, next to the /cost usage by model output

Experiment flags in ~/.claude.json: what they prove and what they don't

A popular theory says Anthropic is A/B testing users into worse behaviour, with the proof in ~/.claude.json. Here's what can be verified.

The docs describe ~/.claude.json as app state, account details, UI toggles, personal MCP servers and the global config keys /config writes. They don't document any experiment keys.

The changelog does confirm Claude Code fetches feature flags and caches them. Version 2.1.214 fixed "a malformed flag payload" that "could wipe the cached feature flags", and 2.1.300 fixed "feature flags and staged rollouts staying stale" behind some proxies. If you open the file you may see cached flag data under internal code names; Anthropic documents none of it, so nothing in it can tell you what a flag does.

So what does that prove? That your client receives flags, which every staged rollout needs. It doesn't show which flag changes behaviour, or which model the server ran.

A cached flag tells you what your client was told. /cost tells you what actually answered. Only one of those is evidence about the model.

Look-alike causes that feel like a nerf

Each of these is documented, and each can make the same model feel worse.

A lower effort level than you think. Opus 5.5 defaults to medium. The docs add that a top-level effortLevel in your user settings file "doesn't count for Opus 5.5", so a high you saved months ago may not apply. Run /effort status, then /effort high if you want it back.

Idle compaction. Since 2.1.299 (14 October) in the terminal, and 2.1.314 (30 October) in VS Code and the desktop app, a conversation that has reached 200,000 tokens and sits idle for about an hour is compacted before its prompt cache expires. You come back to a summary, not the full thread. Look for a line starting Compacted while idle, before the prompt cache expired, or set "idleCompaction": false. Version 2.1.318 also fixed idle compaction "replacing a conversation with a reply that was not a summary."

Auto-compact at the wrong point. On 1M-context models, compaction happens late, so the requests before it carry a huge context and the summary afterwards can drop details.

Context bloat. Every request sends the whole conversation, the docs say. A session holding three finished tasks re-reads all three on every turn of the fourth.

A model switch you made yourself. You've hit your Opus limit and the high-load prompt Opus is experiencing high load, please use /model to switch to Sonnet both ask you to switch with /model, and it's easy to forget you did. A switch also starts a fresh prompt cache, so the next request re-reads everything.

Is Opus 5.5 nerfed checklist: six look-alike causes with the setting or command that checks each one

So is Opus 5.5 nerfed? What Anthropic has said

As of 10 November 2026, Anthropic has published no statement about Opus 5.5 quality in November. We searched Anthropic's news and engineering posts and the help centre, and read the Claude Code changelog through 2.1.322.

Anthropic's status page shows no Opus 5.5 incident between 28 October and 10 November. The only model incident in that window was "Degraded performance for Claude Fable 5.1" on 8 November, from 08:18 to 08:32 UTC, which was resolved.

There is a precedent worth knowing. On 23 April 2026, after a similar wave of complaints, Anthropic published "An update on recent Claude Code quality reports." It traced the drop to three changes in Claude Code itself: a default effort change from high to medium, a caching bug that cleared thinking every turn, and a verbosity system prompt. It stated "The API was not impacted" and "We never intentionally degrade our models."

That postmortem doesn't cover November. But the last real regression lived in the tool around the model, in settings you could check. If Anthropic publishes anything on Opus 5.5, we'll add the quote and date here.

What to do today

If your Claude Code sessions feel worse, run this in order:

  1. Update with claude update. Version 2.1.321 fixed a fallback bug, and 2.1.285 fixed /cost model attribution.
  2. Run /cost and /status. If a second model appears, run /model and pick Opus 5.5 again.
  3. Run /effort status. If it says medium and you want more, run /effort high.
  4. Start a fresh session per task with /clear, and keep CLAUDE.md lean. Our list of skills that reduce token usage helps with the second part.
  5. If flags keep firing, choose "Ask each time" in /config and test with claude --safe-mode.

For the one step that needs the strongest model, try Fable: Claude Code 2.1.321 made Fable 5.2 the default Fable model (/model fable). Depending on your plan, Fable can bill to usage credits instead of plan limits, and the /model picker says "Requires usage credits" when it does.

Use it for that one step, then run /model to switch back. At $8 input and $40 output per million tokens on the API, twice Opus 5.5's rates, Fable is priced for hard problems, not routine edits.

Running agents on a model you choose

An agent can't notice it was moved to Opus 4.8 at 2am. It can't run /cost. It just keeps going on whatever model it ended up with, and you find out from the output.

That's why we built BetterClaw around your own keys. Your agents run on the provider and model you pick, through BYOK across 28+ providers with zero markup, so the model in your config is the model you pay for.

Give each agent its own key and model: a cheap one for routine checks, a strong one for the hard step. Plans start at $19 a month, and your first workspace starts with a 7-day free trial. See BetterClaw plans

Check the receipts before the verdict

Feelings about a model are real data, but not evidence on their own.

Every session leaves receipts: the model that billed each token, the effort it ran at, the moment it compacted, the flag that moved it. Read them first. If they all say Opus 5.5, high effort, full context and it's still worse, you have a report worth filing.

Frequently Asked Questions

Is Opus 5.5 nerfed?

There is no public evidence that Anthropic changed Opus 5.5, and Anthropic has made no statement about it as of 10 November 2026. Many reported drops trace to documented Claude Code behaviour instead: a safeguards fallback to Opus 4.8 or Opus 5, the medium default effort, idle compaction or context bloat. Check /cost, /status and /effort status first.

How do I check which Claude model is running?

Run /status to see the model your next message goes to, and /cost (an alias for /usage) to see every model that billed tokens in the session. For a reply-by-reply view, the message.model field in your session transcript under ~/.claude/projects/ names the model, though Anthropic says that file format is internal and can change.

What does safeguards stopped the response mean?

The full line reads Opus 5.5's safeguards stopped the response above · continuing once with that noted. It means the named model's safety classifiers stopped a response, and the error that follows gives the category, such as [cyber]. Press Esc twice or run /rewind to rephrase, and update Claude Code: 2.1.321 fixed a fallback bug that mentioned stopped responses.

Why does Claude Code switch to Opus 4.8?

When Opus 5.5's cybersecurity classifiers flag a request, Claude Code re-runs it on Opus 4.8, and biology flags re-run on Opus 5. The session then stays on the fallback model until you run /model. To be asked first, choose Ask each time in /config or set switchModelsOnFlag to false.

Is Fable 5.1 better than Opus 5.5 right now?

Fable 5.1 is no longer the default Fable model: Claude Code 2.1.321 made Fable 5.2 the default Fable model on 9 November. Anthropic positions Fable for the hardest, longest-running tasks, and its API price is higher ($8 input and $40 output per million tokens for Fable 5.2, versus $4 and $20 for Opus 5.5). Depending on your plan, Fable usage can bill to usage credits.

How do I stop Claude Code from switching models when a message is flagged?

Run /config, select Switch models when a message is flagged, and choose Ask each time, or set switchModelsOnFlag to false in your settings file. To turn the automatic switch off completely, set the environment variable CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK=1. A flagged request then ends with the refusal instead of moving your session.

Tired of debugging?

BetterClaw handles config, OAuth, and deployment. Your agent is live in 60 seconds.

Start free
Tags:is opus 5.5 nerfedopus 5.5 nerfedclaude code which model is it usingopus 5.5 safeguards stopped the responseclaude code switch to opus 4.8switchModelsOnFlagclaude code check model
Shabnam Katoch

Written by

Shabnam Katoch

Growth Head

Shabnam leads growth at BetterClaw and has spent the past three years building organic distribution for AI-native products. She writes about no-code agent builders, content strategy, and what it actually takes to grow without an ads budget.

Share this article
Was this helpful?