[BUG] TODO list persists after /rewind instead of being restored to checkpoint state
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
After using /rewind to restore the conversation to a previous checkpoint, the TODO list is not reverted to its state at that checkpoint. Instead, the TODO items created after the checkpoint continue to persist, causing confusion and potential issues (e.g., Claude may repeat tasks it had already completed before the rewind).
This is a known issue previously reported in #10095, which was auto-closed due to inactivity without being fixed. The problem still exists in the latest version.
What Should Happen?
The TODO list should be saved as part of the checkpoint state and fully restored when using /rewind. After rewinding, the TODO list should reflect the exact state it was in at the selected checkpoint — any TODO items created after that checkpoint should be removed.
Error Messages/Logs
Steps to Reproduce
- Start a new Claude Code session
- Ask Claude to perform a task that creates a TODO list (e.g., "Create a todo list and add a task: say hello world")
- Observe the TODO list is created with the task item
- Use
/rewindto return to the point before the TODO list was created - Observe that the TODO list still persists with the items from after the checkpoint, instead of being cleared/restored
Claude Model
Sonnet (default)
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.88
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
This is a resubmission of #10095 (auto-closed due to inactivity) and #10597 (closed as duplicate). The bug has never been fixed.
Core issue: After /rewind, the TODO list still contains items created after the checkpoint — essentially "future" state that the agent should not be aware of at that point in the conversation. This causes confusion for the agent: it sees a TODO list filled with information it has no context for (since the conversation has been rewound), leading to unpredictable behavior such as making incorrect assumptions about the current state of the task.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗