Keyboard Interaction: Preserve Plan Progress on Escape Key

Resolved 💬 13 comments Opened Jul 6, 2025 by ingmferrer Closed Jul 12, 2025

Bug Description
When claude proposes a plan, there are two options: "yes" and "no, do something different". If you press "esc" key in your keyboard, then it interrupt the plan, losing all the progress made with the plan, which is a shame as you cannot go back to the plan. What I propose is that pressing "esc" shouldn't make you lose the plan progress, possible ideas:

  1. Pressing "esc" in the plan context is "No, do something different".
  2. Pressing "esc" in the plan context is interrupt, but the plan should be still part of the chat history.
  3. Pressing "esc" in the plan context is interrupt, plan is gone, but you can still go back to the plan, using /plan command the same way you can /resume.
  4. Pressing "esc" in the plan context ask you to confirm that you will lose the plan progress.

Again, the goal of making claude better as user may spend a lot of time planning and losing the time by just pressing "esc" which is not that obvious.

Environment Info

  • Platform: darwin
  • Terminal: iTerm.app
  • Version: 1.0.43
  • Feedback ID: 4ef83585-d9f3-4266-b470-c44d419e8c3f

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:883:11)\n    at execSync (node:child_process:955:15)\n    at ED (file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:702:3921)\n    at file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:623:9038\n    at Q (file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:526:13327)\n    at hJ (file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:623:8184)\n    at S_ (file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:623:7265)\n    at NB (file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:623:11432)","timestamp":"2025-07-06T16:05:55.195Z"},{"error":"Error: Error opening file /Users/ingmferrer/.claude/projects/-Users-ingmferrer-development-pronto/8c6708bd-2637-4d3b-bb0c-03ad03744155.jsonl: Error: ENOENT: no such file or directory, open '/Users/ingmferrer/.claude/projects/-Users-ingmferrer-development-pronto/8c6708bd-2637-4d3b-bb0c-03ad03744155.jsonl'\n    at yj1 (file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:619:176)\n    at async Bu1 (file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:626:3274)\n    at async file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:626:3689\n    at async BU0.appendEntry (file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:624:43)\n    at async BU0.insertMessageChain (file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:623:25454)\n    at async VF1 (file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:626:1903)","timestamp":"2025-07-06T16:30:55.912Z"},{"error":"Error: Request was aborted.\n    at Ae._createMessage (file:///Users/ingmferrer/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:1325:7931)\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)","timestamp":"2025-07-06T16:51:49.649Z"}]

View original on GitHub ↗

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