claude-code - 💡(How to fix) Fix Regression: mid-task new instructions silently replace the original task instead of being treated as additive [2 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#54656Fetched 2026-04-30 06:39:40
View on GitHub
Comments
2
Participants
3
Timeline
5
Reactions
0
Timeline (top)
labeled ×3commented ×2

When a user inserts a new instruction in the middle of an ongoing task, the current Claude Code (Opus 4.7) tends to silently abandon the original task and pivot to the new one, rather than:

  • treating it as an additive constraint / clarification, or
  • asking whether to pause / replace the current task.

Subjectively this feels like a regression from earlier Claude versions (4.5 / 4.6), where mid-task interjections were more often merged into the running task.

Root Cause

Impact

  • Original work gets dropped without acknowledgement.
  • User has to re-state the original requirement to recover it.
  • Erodes trust in long, multi-step tasks because users start hedging every new message with "continue the previous task AND ...".

Fix Action

Fix / Workaround

Subjectively this feels like a regression from earlier Claude versions (4.5 / 4.6), where mid-task interjections were more often merged into the running task.

RAW_BUFFERClick to expand / collapse

Summary

When a user inserts a new instruction in the middle of an ongoing task, the current Claude Code (Opus 4.7) tends to silently abandon the original task and pivot to the new one, rather than:

  • treating it as an additive constraint / clarification, or
  • asking whether to pause / replace the current task.

Subjectively this feels like a regression from earlier Claude versions (4.5 / 4.6), where mid-task interjections were more often merged into the running task.

Impact

  • Original work gets dropped without acknowledgement.
  • User has to re-state the original requirement to recover it.
  • Erodes trust in long, multi-step tasks because users start hedging every new message with "continue the previous task AND ...".

Suggested behavior

On a new user message during an active task, Claude should classify the message as one of: append / amend / replace / parallel, and when ambiguous, briefly confirm before discarding the in-flight task.

Environment

  • Claude Code CLI
  • Model: Opus 4.7 (1M context)
  • Observed: 2026-04

extent analysis

TL;DR

Modify the Claude Code to classify new user messages during active tasks into append, amend, replace, or parallel categories and confirm before discarding the in-flight task.

Guidance

  • Review the task management logic in the Claude Code to identify where the regression occurred between versions 4.5/4.6 and 4.7.
  • Implement a message classification system to determine the intent of new user messages during active tasks, using the suggested categories: append, amend, replace, or parallel.
  • Develop a confirmation mechanism to briefly ask the user before discarding the in-flight task when the classification is ambiguous.
  • Test the updated logic with various user message scenarios to ensure the desired behavior is achieved.

Example

def classify_message(message, active_task):
    # Simplified example, actual implementation may vary
    if message.startswith("continue") or message.startswith("add"):
        return "append"
    elif message.startswith("replace") or message.startswith("new"):
        return "replace"
    # ... implement other categories and logic
    return "ambiguous"

def handle_user_message(message, active_task):
    classification = classify_message(message, active_task)
    if classification == "ambiguous":
        # Confirm with the user before discarding the task
        confirmation = input("Do you want to discard the current task? (yes/no)")
        if confirmation.lower() == "yes":
            # Discard the task and start a new one
            pass
        else:
            # Merge the new message into the active task
            pass
    # ... handle other classifications

Notes

The provided example is a simplified illustration and may not cover all edge cases. The actual implementation should consider the specific requirements and constraints of the Claude Code and its task management logic.

Recommendation

Apply a workaround by modifying the task management logic to include the suggested message classification and confirmation mechanism, as the issue is specific to the current version (Opus 4

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Regression: mid-task new instructions silently replace the original task instead of being treated as additive [2 comments, 3 participants]