[BUG] /rewind cannot restore the TODO list to the 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?
When restoring the entire state to a checkpoint, the TODO List is not modified, which may cause problems.
What Should Happen?
The TODO list is also saved to checkpoints and restored with /rewind
Error Messages/Logs
Steps to Reproduce
- Have the model perform a task that creates a TODO list.
Create todo list and pause: ☐ say hello world
⏺ Todo list created! I've added the task "Say hello world" in pending status. Let me know when you'd like me to proceed with it.
Todos ☐ Say hello world
- Execute /rewind to return to the point before the TODO list was created.
- The TODO list remains unchanged.
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
No response
Claude Code Version
2.0.24
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
No response
I get the same issue on the Bedrock API as well
This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.
Apologies for removing my last comment after it triggered GitHub Actions to remove the auto-close label. I was concerned as this amplifies prompt-injection risks since the TODO list is self-managed by Claude. I have since confirmed with Anthropic VDR (HackerOne report #3469847) that they view this behaviour as “a UX inconsistency rather than a security issue”, so it can be discussed publicly.
I still believe this is a valid bug and it persists in v2.0.72 (although it appears v2.0.73 is in the process of being released). In my case this bug/UI inconsistency has caused unexpected data loss: after rewinding, leaked /todos state caused Claude to repeat a step and delete the data it had just spent a long time generating so that the destination was available.
This bug is very simple to reproduce after starting a new session:
▐▛███▜▌ Claude Code v2.0.73
▝▜█████▛▘ Sonnet 4.5 · Claude Max
▘▘ ▝▝
> Add a random item to your todo list.
… Claude adds: "Organize digital photos by year"
[rewind back to session start]
> /todos
⎿ 1 todo:
☐ Organize digital photos by year
As long as the session hasn’t run out of context, I’ve found it helps to ask Claude to confirm the TODO list has been cleared before rewinding.
Separately, the rewind feature also seems to have an issue where completed background tasks appear silently to claude in a stuck state after a rewind. I consider that less critical than /todos state leakage, but it may be similar enough to this issue that it doesn't warrant creating a second issue as it will likely become lost.