[BUG] TodoWrite Updates Inside Task Tool Not Visible to User

Resolved 💬 6 comments Opened May 19, 2025 by n0isy Closed Jan 10, 2026

Description

When Claude Code uses the Task tool and internally calls TodoWrite to update the todo list during task execution, these todo updates are not visible to the user. The user only sees the final task output without any indication that the todo list was modified during the task.

Steps to Reproduce

  1. Invoke the Task tool with a complex operation that requires todo management
  2. Within the Task tool execution, Claude uses TodoWrite to update the todo list
  3. User observes the task execution output
  4. Todo updates made via TodoWrite during the task are not displayed to the user

Expected Behavior

  • TodoWrite operations within Task tool execution should be visible to the user
  • User should see when todos are marked as in_progress, completed, or when new todos are added
  • This visibility helps users understand the progress of complex operations in real-time

Actual Behavior

  • TodoWrite operations happen silently within the Task tool
  • User has no visibility into todo list changes during task execution
  • Only the final task output is shown, without TodoWrite operation information

Impact

  • Reduced transparency in task execution
  • Users cannot track progress of complex operations in real-time
  • Difficulty understanding what steps Claude is taking within a task
  • Loss of context about task organization and planning

Suggested Solutions

  1. Stream TodoWrite operations to the user interface during Task tool execution
  2. Add a verbose mode that shows TodoWrite/TodoRead operations within tasks
  3. Include todo update summaries in the Task tool output
  4. Implement a real-time todo status display that updates during task execution
  5. Add an option to see all tool invocations (including TodoWrite) within Task execution

Environment

  • Claude Code CLI v0.2.120
  • Occurs when using Task tool with TodoWrite/TodoRead operations
  • Affects all project types where Task tool manages todos

Additional Context

This issue particularly affects complex multi-step tasks where understanding the progression of work is important for user confidence and debugging purposes. The Task tool appears to have access to TodoWrite and TodoRead, but these operations are opaque to the user.

View original on GitHub ↗

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