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

Resolved 💬 4 comments Opened Jun 28, 2025 by MacAttak Closed Nov 30, 2025

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.

View original on GitHub ↗

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