Bug: Claude Code v2.1.27+ hangs with 100% CPU on macOS 26.2 Tahoe (arm64)

Resolved 💬 3 comments Opened Feb 4, 2026 by studf0819 Closed Feb 7, 2026

Bug Description

Claude Code v2.1.27 and later versions (2.1.27/2.1.29/2.1.30/2.1.31) immediately enter a 100% CPU infinite loop on macOS 26.2 Tahoe. The process becomes completely frozen with no output. v2.1.25 works normally.

Environment

  • OS: macOS 26.2 (Build 25C56), Apple Silicon (arm64)
  • Node.js: v22.21.1 (via nvm 0.39.7)
  • Terminal: Tested on iTerm 3.6.6 and Terminal.app — same result
  • Claude Code affected versions: 2.1.27, 2.1.29, 2.1.30, 2.1.31
  • Claude Code working version: 2.1.25

Symptoms

  1. Launch Claude Code (any version >= 2.1.27)
  2. Send any message (or use --print mode with piped input)
  3. Process immediately enters 100% CPU infinite loop
  4. No output produced — even --print --debug produces zero output
  5. Each process consumes ~14GB virtual memory
  6. UI completely frozen (Tab, Esc, Ctrl+C all unresponsive)
  7. Process never exits, requires kill or closing the terminal

Reproduction Steps

# This works fine:
echo "hello" | ~/.local/share/claude/versions/2.1.25 --print
# Output: OK

# This hangs forever with 100% CPU:
echo "hello" | ~/.local/share/claude/versions/2.1.31 --print
# No output, 100% CPU usage

Process evidence (ps aux)

studf 27284 99.9% 2.6% 526093024 13975088 ?? R /versions/2.1.31 --print
studf 26845 99.6% 2.7% 526150384 14437680 ?? RN /versions/2.1.31 --print
studf 27021 98.2% 2.6% 526041824 13906672 ?? R /versions/2.1.31 --print
studf 28078 98.7% 2.7% 526382640 14511888 ?? R /versions/2.1.31 --print

All processes in R (Running) state, not sleeping — confirming infinite loop, not I/O wait.

What was ruled out

Extensive troubleshooting was performed, all with no effect:

  • [x] Removed custom statusline script
  • [x] Disabled all MCP servers
  • [x] Removed CLAUDE.md (SuperClaude framework)
  • [x] Disabled all plugins (30+ plugins set to false)
  • [x] Cleared history.jsonl (8.4MB / 19K lines)
  • [x] Cleaned debug directory (21K files / 1.8GB)
  • [x] Cleaned todos directory (6K files)
  • [x] Tested multiple terminals (iTerm, Terminal.app)
  • [x] Tested --no-chrome and --disable-slash-commands flags

Conclusion: The issue is in the native binary itself on macOS 26.2 Tahoe.

Workaround

Manually symlink to v2.1.25:

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

Note: This gets overwritten on each auto-update.

View original on GitHub ↗

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