v2.1.27 hangs at 100% CPU after first response (v2.1.25 works)

Status Closed — duplicate
Reported on v2.1.27
Maintainer reply None cached
Activity 15 comments · opened Jan 31, 2026 · closed Jan 31, 2026

Bug Report: v2.1.27 hangs at 100% CPU after first response

Environment

  • Claude Code Version: 2.1.27
  • Working Version: 2.1.25
  • OS: macOS Darwin 25.2.0 (Apple Silicon)
  • Model: Opus 4.5

Description

After starting a Claude Code session and receiving the first response, the CLI hangs at 100% CPU. The spinner shows but no further responses are possible. This happens consistently on v2.1.27 but NOT on v2.1.25.

Steps to Reproduce

  1. Start Claude Code v2.1.27: claude
  2. Enter any prompt (e.g., "hello")
  3. Receive first response successfully
  4. Enter second prompt
  5. CLI hangs at 100% CPU, spinner shows "Billowing..." or similar but never completes

Troubleshooting Attempted

  • [x] Disabled all plugins (27 plugins) - still hangs
  • [x] Disabled all hooks (PreToolUse, PostToolUse, UserPromptSubmit, Stop) - still hangs
  • [x] Disabled all MCP servers - still hangs
  • [x] Disabled statusLine command - still hangs
  • [x] Cleared debug files and file-history - still hangs
  • [x] Vacuumed sessions.db - still hangs
  • [x] Fresh session after /exit - still hangs

Workaround

Running v2.1.25 directly works without issues:

~/.local/share/claude/versions/2.1.25

Process State When Hung

claude  100.0%  CPU, ~500MB-2GB memory, R+ state (running)

Multiple Claude sessions can accumulate, all spinning at 100% CPU.

Binary Size Difference

  • 2.1.25: 182,288,624 bytes
  • 2.1.27: 179,283,440 bytes (3MB smaller)

Expected Behavior

CLI should remain responsive after first response and process subsequent prompts normally.

Actual Behavior

CLI spins at 100% CPU and becomes unresponsive after first successful response.

View original on GitHub ↗

15 Comments

zanetworker · 7 months ago

Same!

github-actions[bot] · 7 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/22103
  2. https://github.com/anthropics/claude-code/issues/22097
  3. https://github.com/anthropics/claude-code/issues/22141

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

codemile · 7 months ago

2.1.27 was working this morning but then stopped. I suspect it's an API issue.

ocean-neo · 7 months ago

Same!!!

wang-silas · 7 months ago

+1. I think it's a P0 iisue

bimbolimbo · 7 months ago

similar issue, but i am on linux. I've noticed it depends on the directory. Home directory fine, other directories super slow, can't even run /doctor in claude TUI. When the fan starts churning when running /doctor, then you know somethings is off.

Kevin-Mok · 7 months ago

Had to downgrade to 2.1.23 get a working version.

Marcel-Bich · 7 months ago

As mentioned in my (maybe) duplicate issue https://github.com/anthropics/claude-code/issues/22172 this occurs on multiple sessions too (somehow I can work in 1 session only but if I try to start another everything freezes but the first session.)

=> The only confirmed workaround for me is downgrading to v2.1.22 like this:

Running claude in older version (needs to be installed already!)

$HOME/.local/share/claude/versions/2.1.22

Running claude with another profile in an older version (needs to be installed already!):

CLAUDE_CONFIG_DIR=$HOME/.claude-work $HOME/.local/share/claude/versions/2.1.22
SharadKumar · 7 months ago

v2.1.27 completely shut... uninstalled native, tried brew... no luck still.

SharadKumar · 7 months ago

Downgrade to 2.1.23 indeed worked... for now!

bhaskoro-muthohar · 7 months ago

I thought this was my laptop

jmclaughlin724 · 7 months ago

I asked Gemini to investigate and this is what it came up with:

The actual issue identified was a race condition in the claude binary's execution flow,
specifically in how it spawns a secondary process for MCP (Model Context Protocol)
support.

Here is the breakdown:

  1. The Trigger: When you run claude (interactive mode), it automatically tries to spawn

a second instance of itself with the flag --claude-in-chrome-mcp.

  1. The Failure: The parent process and this child process were entering a livelock—a

state where both were consuming 100% CPU waiting on each other or competing for the
same resource (file scanners in the deployment-log-checker skill), without making
progress.

  1. The Root Cause: The binary lacks sufficient internal synchronization (mutexes) to

prevent this collision when the file system or skill state causes a delay.

We resolved this by:
Wrapping the binary with a script (claude_shim.sh) that implements an external mutex.
This ensures that if an MCP process is already running or being spawned, a second one
cannot start, effectively forcing sequential behavior and preventing the resource
collision.

richardwhiteii · 7 months ago

Additional Reproduction: Ghostty Terminal

Confirming this regression on Ghostty 1.2.3 with the same behavior.

Environment

  • Claude Code: 2.1.27 (broken) → 2.1.25 (works)
  • Terminal: Ghostty 1.2.3
  • macOS: 26.1 (Build 25B78)
  • Kernel: Darwin 25.1.0 arm64 (Mac Studio T6041)
  • Shell: zsh
  • TERM: xterm-256color

Behavior

  • Claude Code starts normally in Ghostty
  • First prompt submission: hangs indefinitely, becomes unresponsive
  • Same version (2.1.27) works fine in Terminal.app

Workaround

ln -sf ~/.local/share/claude/versions/2.1.25 ~/.local/bin/claude

This suggests the regression may involve terminal handling that differs between Ghostty and Terminal.app. Ghostty uses a different input/PTY implementation which may be exposing the underlying issue more readily.

github-actions[bot] · 6 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.