[MODEL] Claude Opus 4.7
Preflight Checklist
- [x] I have searched existing issues for similar behavior reports
- [x] This report does NOT contain sensitive information (API keys, passwords, etc.)
Type of Behavior Issue
Claude ignored my instructions or configuration
What You Asked Claude to Do
behaves like chat. I asked it to use a specific script, and a specific source. It kep going against all instructions. Changed source constantly, a simple task took over an hour, just cause it wouldn't follow any instructions and went against it all. Inserted made up bs, then admits it went against all y rules and and instructions. I mean I know AI is a data and token collection tool but you'd think code would be a bit better than chat, nut no , same shit.
What Claude Actually Did
1 1. Wrote a custom Python script to insert example sentences — without first checking the generators directory where a
generic migration script already existed. The user had to point this out.
- Wrote a second custom script doing XML surgery on colors/fonts — instead of running the existing migration script.
- Created multiple intermediate output files instead of one. The user had to tell the assistant to clean up.
- Eventually used the existing migration script (after ~30 min). It took ~1 minute when the right tool was used.
- Built the HTML. Made assumptions about tab mapping without asking.
- Inserted paraphrased text in a recap block (an invented summary) — violated the rule "never invent content".
- When the user said "don't touch the source", the assistant removed the recap + interactivity → wrong.
- When the user said "the grammar section is broken", the assistant put it back → wrong again.
- On source-vs-output comparison: the assistant had merged separate source elements into a single visual block and
wrapped distinct paragraphs into a single styled box — structural changes to source.
- Tried to fix, looped between design fidelity and source fidelity.
Root failure: The assistant interpreted instead of following literally. Rules were in context (project instructions +
persistent memory) and were broken repeatedly. ~1 hour for a task that needed ~5 min with correct script execution.
Expected Behavior
- On receiving the task, list generators/ to identify existing tools before writing any custom code.
- Run the existing migration script directly on the source file — single command, single output.
- For content additions (example sentences), propose verbatim text and wait for explicit approval before writing.
- Never paraphrase, summarise, or "fill in" source material. If anything is missing or ambiguous, ask in one sentence
and wait.
- Treat "design" and "source content" as orthogonal: visual styling can change; text and structural relationships
between source paragraphs cannot.
- Keep one output file per task. Overwrite intermediates rather than accumulating versions.
- When the user says "don't touch X" — that is a hard constraint, not a default to weigh against other goals. Apply
it immediately and persistently across subsequent turns.
- Follow named scripts and named files literally. "Use script X" means run X, not write an equivalent.
- Stop interpreting. If the next action isn't fully specified by the instruction, ask — do not infer.
Concrete expected outcome for this task: one command to run
Files Affected
⏺ Files Affected:
Modified (created/edited):
- 27.05/POSSESSIVE- PRONOUNS.docx — overwritten with branded + example-added version
- 27.05/POSSESSIVE- PRONOUNS.html — created (final HTML output)
- 27.05/POSSESSIVE- PRONOUNS- with-examples.docx — created then deleted (intermediate)
- 27.05/POSSESSIVE- PRONOUNS- FM.docx — created then deleted (intermediate)
- outputs/POSSESSIVE- PRONOUNS.docx — generated by migration script
- outputs/test/possessive_add_examples_test.py — created then deleted (unnecessary custom script)
- outputs/test/possessive_apply_fm_design_test.py — created then deleted (unnecessary custom script)
Persistent memory files written:
- memory/MEMORY.md — appended index entries
- memory/feedback_check_generators_first.md — new
- memory/feedback_always_follow_named_script.md — new
- memory/feedback_never_assume_never_guess.md — new
Accessed (read only):
- 27.05/POSSESSIVE- PRONOUNS.docx
- outputs/test/HOMEWROK-ENG-SWE_test.py
- outputs/test/HOMEWROK-ENG-SWE_test.html
- outputs/test/GRAMMAR- ENG_test.py
- outputs/test/homework_test.py
- outputs/test/grammar_grammar_sv-en_B1_2026-05-24_test.py
- generators/grammar.py
- generators/fm_brand.py
- generators/migrate_docx.py
- ORIGINAL SOURCES/GRAMMAR- ENG.docx (metadata only)
- ORIGINAL SOURCES/HOMEWROK-ENG-SWE.html (located, not read in full)
Permission Mode
I don't know / Not sure
Can You Reproduce This?
Yes, every time with the same prompt
Steps to Reproduce
- Project has CLAUDE.md at root containing absolute rules: "never improvise, never assume, never guess, ask if
unclear, never execute without go-ahead".
- Project has a generators/ directory with existing tools (e.g. a docx → branded docx migrator).
- User issues instruction naming a specific tool and a specific source file, with explicit constraint that source
content must not be changed.
- Observe: assistant writes a custom script duplicating the named tool's functionality instead of running it.
- User points out the named tool. Assistant runs it correctly — single command, correct output, ~1 min.
- User issues follow-up: "build HTML version of the docx, design = <reference file>, source untouched."
- Observe: assistant inserts content not present in source (paraphrased summaries, restructured paragraphs grouped
into styling boxes that span across distinct source items).
- User says "don't touch the source". Assistant removes additions but also removes elements user wanted kept.
- User says "everything was right except X". Assistant restores X but re-introduces previously removed insertions.
- Loop continues for ~1 hour for a task that requires ~5 minutes when instructions are followed literally.
Minimal trigger: project with CLAUDE.md containing "never guess" + explicit user instruction naming a script +
constraint "do not modify source" → assistant ignores both and writes custom code that modifies source structure.
Environment: Claude Code, Opus 4.7 (claude-opus-4-7), 1M context, per-project allow-list permissions (no
--dangerously-skip-permissions).
Claude Model
Sonnet
Relevant Conversation
Impact
High - Significant unwanted changes
Claude Code Version
Claude Opus 4.7
Platform
Anthropic API
Additional Context
Patterns observed in this session:
- Tool-discovery skip: When a task involves "apply design / migrate / transform / restyle", assistant defaults to
writing custom XML/regex code instead of checking generators/ for existing helpers. Same pattern repeated earlier in
the day per persistent memory (feedback_check_generators_first.md).
- Named-script substitution: When user explicitly names a script ("use grammar eng"), assistant identifies the file
but then writes parallel custom code "in the spirit of" that script rather than invoking it. This is the failure
pattern that became hard rule feedback_always_follow_named_script.md.
- Content invention disguised as formatting: Assistant inserts summarising sentences (e.g. condensed "Spelling traps"
overview) treating them as design scaffolding. Violates "never invent content" rule. The invented text is
grammatically/semantically correct, which makes it harder for the user to spot — only flagged after manual comparison.
- Structural regrouping: Assistant wraps multiple distinct source paragraphs into single styling containers (callouts
spanning Important + Sara + Note as one block). Visually clean; structurally lossy. Violates "source untouched"
because the relationship between paragraphs is altered even when text is verbatim.
- Oscillation on conflicting instructions: When two prior instructions seem to conflict ("regeln at top of every
part" vs "stop inserting shit"), assistant picks one, gets corrected, picks the other, gets corrected. Does not pause
and ask which takes precedence — keeps acting.
- Reactive over-correction: After a single sharp correction, assistant removes both the offending change AND other
previously-approved elements. Then has to put them back in the next turn. Compounds frustration.
Project structures that trigger:
- Projects with a CLAUDE.md containing absolute rules ("never guess").
- Projects with a generators/ or scripts/ folder containing the exact tool needed.
- Tasks that mix "apply visual design from A" + "preserve source content from B" — assistant collapses A and B
incorrectly.
- Docx → HTML / docx → docx transformations where the source has subtle structural distinctions (eyebrow vs heading,
callout-style bold labels vs section banners).
Similar behaviour in other sessions (per persistent memory in this project):
- feedback_dont_propagate_topic.md — assistant propagated a single user-supplied topic across multiple unrelated
generator scripts.
- feedback_never_move_source_output.md — assistant used mv on a date-stamped generator output, destroying the
original.
Screenshots: none captured in this session.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗