TODO tray disappears when all items are completed

Resolved 💬 3 comments Opened Dec 26, 2025 by cversek Closed Feb 14, 2026

Description

The TODO tray/UI disappears completely when all TODO items have status: "completed". The internal system also reports "your todo list is currently empty" despite the todos file containing valid completed items.

Steps to Reproduce

  1. Create a TODO list with multiple items using TodoWrite
  2. Mark all items as "status": "completed"
  3. Observe: TODO tray disappears from UI

Expected Behavior

The TODO tray should remain visible showing completed items (perhaps with strikethrough or checkmarks). Users may want to see their completed work history.

Actual Behavior

  • TODO tray completely disappears from UI
  • System injects reminder to Claude: "your todo list is currently empty"
  • File at ~/.claude/todos/{session}-agent-{session}.json contains valid JSON with completed items
  • Adding even one "status": "pending" item makes the tray reappear immediately with ALL items visible (including the completed ones)

Evidence

The todos JSON file contains valid data:

[
  {"content": "Task 1", "status": "completed", "activeForm": "Completed"},
  {"content": "Task 2", "status": "completed", "activeForm": "Completed"},
  {"content": "Task 3", "status": "completed", "activeForm": "Completed"}
]

But UI shows nothing and system says list is empty.

Adding one pending item:

[
  {"content": "Task 1", "status": "completed", "activeForm": "Completed"},
  {"content": "Task 2", "status": "completed", "activeForm": "Completed"},
  {"content": "Awaiting", "status": "pending", "activeForm": "Awaiting"}
]

Immediately makes tray appear with all 3 items visible.

Environment

  • Claude Code: 2.0.76
  • Platform: macOS Darwin 24.5.0

Impact

This prevents users from:

  • Reviewing completed work in the current session
  • Knowing their progress without manually checking the JSON file
  • Using the TODO feature as a complete session work log

View original on GitHub ↗

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