[Bug] Claude fails to maintain stated constraints across conversation turns when generating production artifacts
Bug Description
Feedback for Anthropic — Claude Code, Opus 4.5
Follow-up to my earlier report from the same session. It got worse, and this one had production consequences.
Business made an explicit decision: only create the missing service where the client has none, precisely to avoid duplicates. Claude wrote that decision into the draft comment I posted, including a warning about what would happen if we did otherwise.
Then it built the load files — and included every missing record, ignoring the decision it had just documented. It walked me through loading them step by step and never once checked the files against the decision. Result: 36 accounts in production now have two live service records for the same deliverable. I only found out because I asked it to draft the summary and it happened to check.
So it isn't only failing to verify facts. It fails to carry its own stated constraints into the work it produces a few turns later. It had the decision, it had the count of affected records, it had flagged the exact risk in writing, and it still built the thing that caused it.
Two patterns worth separating:
Verification. Covered in my earlier report — states inferences as fact unless pushed.
Continuity. A constraint it articulates in one turn does not survive into an artifact it builds in the next. That's more dangerous than the first, because the output looks finished and correct, and there's nothing in it that signals the constraint was dropped.
What would have caught this: before generating any file that writes to production, re-read the constraints established in the conversation and state explicitly which rows the constraint excludes. It never did that, and I had no reason to think it hadn't.
Environment Info
- Platform: darwin
- Terminal: vscode
- Version: 2.1.239
- Feedback ID: 3a9a6683-22ee-4766-8095-6a4d31815ffb
Errors
[]