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
- Launch Claude Code (any version >= 2.1.27)
- Send any message (or use
--printmode with piped input) - Process immediately enters 100% CPU infinite loop
- No output produced — even
--print --debugproduces zero output - Each process consumes ~14GB virtual memory
- UI completely frozen (Tab, Esc, Ctrl+C all unresponsive)
- Process never exits, requires
killor 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-chromeand--disable-slash-commandsflags
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.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗