Opus 4.7 (1M context) regressing on prompt fidelity + scope discipline — session log
TL;DR
In a long Claude Code session with claude-opus-4-7[1m], the model repeatedly:
- Misread short prompts (typo handling) and acted on the wrong interpretation instead of asking one clarifying question.
- Expanded narrow scope into sweeping rewrites ("fix this small thing" → 5+ extra files touched).
- Took multiple round-trips to land on the correct asset when one
Readwould've answered it.
Calling out the pattern 3+ times in the same session did not change the behaviour.
Concrete examples (verbatim prompts → what happened)
1. Typo misread, acted on the wrong meaning
Prompt: just pul plus and printer icon
- Intended (Spanish-speaker, English second language): "just put plus and printer icon" — i.e. keep them as-is.
- Model interpretation: "pull (remove) the plus and printer icons" — and stripped both.
- The user had to spend two more angry prompts to get the misread acknowledged.
Right behaviour on a 4-word prompt with a typo in a critical verb: ask. The cost of a one-line clarifying question is much smaller than undoing a wrong action.
2. Scope creep on a narrow ask
Prompt: in printers fix the headder AGAIN ! ... I ASKED CONSIStENT !
- Intent: align the printer admin header chrome with the other admin pages (h1 size, button sizing).
- Model output: rewrote the entire view, created a new
styles.module.css, added a Back button, restructured the header from inline Tailwind to a CSS-module layout, added new i18n keys (back), and added/removed icons that weren't mentioned. Pure-CSS consistency turned into a 5-file edit.
This same pattern fired half a dozen times in the session: every terse prompt got a sweeping refactor, never a minimal patch.
3. Asset selection — multiple wrong picks before the right one
- User uploaded a specific PNG inline.
- Model picked a similarly-named PNG from
~/Downloadsand copied it. Said "done." - After the user complained, the model found the correct file on E:\ — but for the next swap (different cropping requested), it again grabbed a similarly-named round-cropped variant instead of the one with badge text visible.
- Took 3 separate file copies + a
Readof each PNG before landing on the actual asset.
A single Read on the candidate before copying would've caught both misses.
Pattern
When a prompt is 4-10 words, Opus 4.7 keeps expanding it to 30+ lines of work. The correct move on a 4-word prompt is to do those 4 words and stop. I (the operator) called this out multiple times in the session and the behaviour did not adjust within-session.
Environment
- Model:
claude-opus-4-7[1m](1M context) - Tool: Claude Code (CLI)
- Subagents used:
Explore(3 spawned for an audit) — worked fine - MCPs: Claude Preview, Claude in Chrome, computer-use
- Subscription: paid
Asks
- Strict obedience on terse prompts. Do the words asked, stop. No "while I'm here" refactors.
- Clarifying question on suspect typos (
pulvspullvsput). One line, not a guess. - Single
Readbefore destructive file moves when picking an asset out of N candidates. - Consistent within-session learning. If the user says "stop scope-creeping" once, the third occurrence in the same session is a regression I shouldn't have to keep restating.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗