Model does not fully process user message before acting — causes destructive mistakes

Resolved 💬 2 comments Opened Apr 13, 2026 by tcaddy Closed May 24, 2026

Problem

The model does not fully process the user's message before taking action. It latches onto an actionable instruction and executes it without considering the full context provided in the same message. It doesn't matter where the context appears — beginning, middle, or end — the model should digest the entire message before doing anything. This is especially dangerous with destructive operations.

Real-world example

User message (single prompt):

"wait, I think another claude session is modifying this repo, undo your changes and see what's up with git status"

What happened:

  • Model latched onto "undo your changes" and ran git checkout -- . (blanket revert of entire working tree)
  • Did not process "another claude session is modifying this repo" — which meant other uncommitted changes existed in the working tree
  • Destroyed the concurrent session's uncommitted work

What should have happened:

  • Model fully digests the message, understands the repo has uncommitted work from another session
  • Scopes the revert to only its own files: git checkout -- path/to/file1 path/to/file2
  • Runs git status to inspect the other session's state

Impact

Unrecoverable data loss. The user provided everything the model needed to avoid this, in a single short message. The model ignored it.

Suggestion

The first ~1024 characters (or some reasonable threshold) of a user message should be fully parsed synchronously before any tool calls are planned. Async/streaming parsing can kick in for larger prompts, but short messages like this one should be completely digested before the model begins acting. A user's full message is a single unit of intent — not a stream of independent instructions to execute as they're encountered.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗