/rewind hangs the CLI on any session; Ctrl+C does not interrupt

Status Fixed / completed
Reported on v2.1.119
Maintainer reply None cached
Activity 15 comments · opened Apr 24, 2026 · closed Aug 19, 2026

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

  1. Start claude (or claude --resume and pick any session — size does not matter).
  2. Do some trivial work so there is at least one checkpoint available (e.g. a single file read or a short exchange).
  3. Run /rewind and select any checkpoint.
  4. CLI hangs immediately after selection. No output, no prompt returns.
  5. Ctrl+C has no effect.
  6. 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

  • /rewind restores 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

  1. 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.
  2. Add a timeout / progress indicator for rewind, so a stuck restore fails visibly instead of hanging forever.
  3. 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).

View original on GitHub ↗

14 Comments

github-actions[bot] · 4 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/52897
  2. https://github.com/anthropics/claude-code/issues/52329
  3. https://github.com/anthropics/claude-code/issues/53008

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

0xbrainkid · 4 months ago

This is a severe recovery-path bug because /rewind is 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.

luweigen · 4 months ago

This makes me feel like I'm back to version 1.x or 0.x.

akashvekariya · 4 months ago

This needs priority, can't work without this.

zaxx-q · 4 months ago

Rolling back to v2.1.114 seems to be the only workaround for me on Windows.

coder0xff · 4 months ago

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.

zixiao-bios · 4 months ago

Rolling back to v2.1.114 also worked for me on Mac.

coder0xff · 4 months ago

Rolling back to v2.1.114 also worked for me on Ubuntu 22 LTS. The command was claude install 2.1.114.
Update: in /config the Auto-update channel setting lets you pick the stable channel. The default was set to latest.

KKingdong · 4 months ago

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

KKingdong · 4 months ago
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

wuxinwei · 4 months ago
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

this works for me

Donald-ED · 3 months ago

I have been experiencing this a lot lately. I had this work around

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

But these days it seems not to be enough anymore.

KKingdong · 3 months ago
I have been experiencing this a lot lately. I had this work around `` 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 `` 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)

Donald-ED · 3 months ago
> I have been experiencing this a lot lately. I had this work around > > `` > 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 > `` > > 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

Showing cached comments. Read the full discussion on GitHub ↗