/rewind hangs the CLI on any session; Ctrl+C does not interrupt
Summary
Using the /rewind slash command from inside an active Claude Code session hangs the CLI regardless of session size. The process stays alive at low CPU, produces no output, and does not respond to Ctrl+C — kill -9 is required to recover.
This was initially observed as part of #52995 (large-session resume hang), but on further testing /rewind hangs on small/new sessions as well, so it looks like a distinct regression worth its own issue.
Environment
- Claude Code:
2.1.119 - OS: macOS (Darwin 25.4.0)
Reproduction
- Start
claude(orclaude --resumeand pick any session — size does not matter). - Do some trivial work so there is at least one checkpoint available (e.g. a single file read or a short exchange).
- Run
/rewindand select any checkpoint. - CLI hangs immediately after selection. No output, no prompt returns.
- Ctrl+C has no effect.
kill -9 <pid>is required.
Reproduces on multiple different sessions, including small ones created fresh for the purpose of testing. So it is not dependent on the large-.jsonl / oversized-line conditions from #52995.
Expected
/rewindrestores the selected checkpoint and returns control to the prompt within a second or two on a normal-sized session.- Ctrl+C always interrupts, even if rewind is doing real work.
Suggested directions
- Check whether
/rewind's restore path blocks the event loop — symptoms (unresponsive Ctrl+C, 0–1% CPU) match a synchronous call that never returns rather than a CPU-bound loop. - Add a timeout / progress indicator for rewind, so a stuck restore fails visibly instead of hanging forever.
- Verify SIGINT handling during rewind — the signal handler should run even while the restore is in progress.
Workaround
None that I've found beyond killing the process and starting a new session. /rewind is effectively unusable at the moment.
Related: #52995 (large-session resume hang — the signal-handler aspect and the hang-on-checkpoint-rehydration code path may share a root cause).
Showing cached comments. Read the full discussion on GitHub ↗
14 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
This is a severe recovery-path bug because
/rewindis supposed to be a safety/control tool for navigating session state, yet invoking it can deadlock the entire CLI. Once even Ctrl+C cannot interrupt, the feature has crossed from "broken command" into "requires force-kill" territory.That is especially costly because users reach for rewind precisely when they are trying to regain control of the session. A hung rewind path therefore destroys confidence in one of the main escape hatches the product exposes.
The note that this reproduces even on small sessions is also important. It suggests the regression is not just a scale/pathological-history problem, but something more fundamental in the rewind execution path or its signal handling.
This makes me feel like I'm back to version 1.x or 0.x.
This needs priority, can't work without this.
Rolling back to v2.1.114 seems to be the only workaround for me on Windows.
My reproduction is slightly different. Starting a new session, saying hello, and then /rewind works fine. I have to exit Claude and then resume the session. Only then will /rewind hang it.
I think Claude Code needs more dogfooding by people at Anthropic. Unfortunately, Claude can't use Claude, because it's unable to interact with a TUI. It vibes problems like this.
Rolling back to v2.1.114 also worked for me on Mac.
Rolling back to v2.1.114 also worked for me on Ubuntu 22 LTS. The command was
claude install 2.1.114.Update: in
/configtheAuto-update channelsetting lets you pick thestablechannel. The default was set tolatest.Workaround found for /rewind freeze on Windows (v2.1.119)
Bug trigger: Starting a session with claude -r / claude --resume causes /rewind (or double ESC) to freeze completely.
Workaround:
Start fresh with claude (no flags)
Use /resume inside the session to select and re-enter the previous session
/rewind works normally from there
Same session resumption, but the entry method makes the difference. This appears to be a regression of the previously fixed bug: "/rewind and other interactive overlays not responding to keyboard input after launching with claude --resume"
Tested on: Windows, Git Bash & PowerShell, session file under 10MB, v2.1.119
If not fixed
new version released. try this one.
you have to update using npm ('claude update' still stays in v2.1.119): npm install -g @anthropic-ai/claude-code@2.1.120
(and uninstall v2.1.119)
https://www.npmjs.com/package/@anthropic-ai/claude-code/v/2.1.120
this works for me
I have been experiencing this a lot lately. I had this work around
But these days it seems not to be enough anymore.
RU still experiencing this even after updating claude-code-cli? (latest version is 2.1.143)
Not anymore. It works now