Feature Request: Checkpoint Rollback Mechanism for Conversation Recovery This title captures the core feature request of adding a way to roll back to previous conversation states, particularly to help recover from tool use errors or other blocking issues
Bug Description
This is not a bug report perse, more a feature request. It would be good to be able to add an option for the user to roll back to checkpoint states in the context history. This would help to resolve issues where Claude hits tool use errors, or other blocking errors.
E.g. API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"messages.405:
tool_use ids were found without tool_result blocks immediately after:
toolu_01DBjLynj8q2WTWEttvjmBNd. Each tool_use block must have a corresponding tool_result block
in the next message."}}
continue
⎿ API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"messages.405:
tool_use ids were found without tool_result blocks immediately after:
toolu_01DBjLynj8q2WTWEttvjmBNd. Each tool_use block must have a corresponding tool_result block
in the next message."}}
Nice work. Please start. please analyse, categorise and create a comprehensive TODO list to track
progress.
⎿ API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"messages.405:
tool_use ids were found without tool_result blocks immediately after:
toolu_01DBjLynj8q2WTWEttvjmBNd. Each tool_use block must have a corresponding tool_result block
in the next message."}}
Environment Info
- Platform: darwin
- Terminal: vscode
- Version: 1.0.35
- Feedback ID: 69a1a1f9-fbc0-4db1-b5d3-1db97bf5b24b
Errors
[{"error":"Error: Command failed: security find-generic-password -a $USER -w -s \"Claude Code\"\nsecurity: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.\n\n at genericNodeError (node:internal/errors:983:15)\n at wrappedFn (node:internal/errors:537:14)\n at checkExecSyncError (node:child_process:882:11)\n at execSync (node:child_process:954:15)\n at TZ (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:700:3921)\n at file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:622:9014\n at Q (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:526:17199)\n at VX (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:622:8160)\n at nS (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:622:7241)\n at f9 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:622:11408)","timestamp":"2025-06-26T07:20:11.556Z"},{"error":"Error: Language not supported while highlighting code, falling back to markdown: local\n at file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:1367:418\n at Object.useMemo (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:80:26276)\n at aH9.useMemo (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:46:15576)\n at KW (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:1367:312)\n at uE (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:80:19803)\n at tT (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:82:42555)\n at rT (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:82:38104)\n at _$ (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:82:38032)\n at YU (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:82:37886)\n at oW (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:82:34976)","timestamp":"2025-06-26T08:11:04.992Z"},{"error":"Error: Request was aborted.\n at Jq.makeRequest (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:1314:3838)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)","timestamp":"2025-06-26T08:12:45.789Z"},{"error":"AxiosError: Request failed with status code 404\n at Fz (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:528:1070)\n at BrotliDecompress.HA (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:529:9964)\n at BrotliDecompress.emit (node:events:519:35)\n at BrotliDecompress.emit (node:domain:489:12)\n at endReadableNT (node:internal/streams/readable:1696:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)\n at cl.request (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:531:2081)\n at process.processTicksAndRejections (node:internal/pro
Note: Error logs were truncated.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗