claude-code - 💡(How to fix) Fix /rewind hangs the CLI on any session; Ctrl+C does not interrupt [3 comments, 4 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#53011Fetched 2026-04-25 06:14:47
View on GitHub
Comments
3
Participants
4
Timeline
9
Reactions
1
Author
Timeline (top)
labeled ×5commented ×3cross-referenced ×1

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.

Root Cause

Related: #52995 (large-session resume hang — the signal-handler aspect and the hang-on-checkpoint-rehydration code path may share a root cause).

Fix Action

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).

RAW_BUFFERClick to expand / collapse

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).

extent analysis

TL;DR

The /rewind command in Claude Code version 2.1.119 on macOS hangs the CLI due to a potential blocking call in the restore path, and a workaround involves investigating the event loop and signal handling.

Guidance

  • Investigate whether the restore path in /rewind blocks the event loop, causing the CLI to hang.
  • Verify the SIGINT handling during rewind to ensure the signal handler runs even while the restore is in progress.
  • Consider adding a timeout or progress indicator for rewind to fail visibly instead of hanging forever.
  • Review the related issue #52995 for potential shared root causes.

Example

No code snippet is provided as the issue does not contain sufficient information to create a specific example.

Notes

The issue seems to be specific to Claude Code version 2.1.119 on macOS, and the root cause is still unknown. Further investigation is required to determine the exact cause and develop a fix.

Recommendation

Apply workaround: Investigate the event loop and signal handling to identify the root cause and develop a fix, as upgrading to a fixed version is not currently an option.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING