[BUG] 100% CPU Usage During Plan Mode Prompts
Status Fixed / completed
Maintainer reply None cached
Activity 9 comments · opened Oct 23, 2025 · closed Nov 24, 2025
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
There's a new feature in plan mode where Claude asks a few questions and you select the "radio" buttons one at a time. It seems while this is open, CC is spinning one cpu core at 100%...
What Should Happen?
Claude should not occupy an entire cpu core while waiting for an answer.
Error Messages/Logs
Steps to Reproduce
Get claude to ask confirmation questions in plan mode.
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.0.25
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
_No response_
9 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
<img width="267" height="154" alt="Image" src="https://github.com/user-attachments/assets/a6a15028-b764-4e16-aba6-639ac871bddc" />
Absolute garbage these versions, they're running at stupid amounts of memory and stupid amounts of CPU.
Same issue. Mostly during the spec-kit command clarify but also happens at other commands / promts too. The debug log shows a endless loop.
Error Log:
[DEBUG] Writing to temp file: /Users/kaihempel/.claude.json.tmp.21160.1761219387018[DEBUG] Preserving file permissions: 100600
[DEBUG] Temp file written successfully, size: 33813 bytes
[DEBUG] Applied original permissions to temp file
[DEBUG] Renaming /Users/kaihempel/.claude.json.tmp.21160.1761219387018 to /Users/kaihempel/.claude.json
[DEBUG] File /Users/kaihempel/.claude.json written atomically
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] Hooks: getAsyncHookResponseAttachments called
[DEBUG] Hooks: checkForNewResponses called
[DEBUG] Hooks: Found 0 total hooks in registry
[DEBUG] Hooks: checkForNewResponses returning 0 responses
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] Getting matching hook commands for UserPromptSubmit with query: undefined
[DEBUG] Found 0 hook matchers in settings
[DEBUG] Matched 0 unique hooks for query "no match query" (0 before deduplication)
[DEBUG] FileHistory: Making snapshot for message 0e7968b8-41c2-4841-bd18-ce7be01f2cce
[DEBUG] FileHistory: Added snapshot for 0e7968b8-41c2-4841-bd18-ce7be01f2cce, tracking 0 files
[DEBUG] Writing to temp file: /Users/kaihempel/.claude.json.tmp.21160.1761219387080
[DEBUG] Preserving file permissions: 100600
[DEBUG] Temp file written successfully, size: 33813 bytes
[DEBUG] Applied original permissions to temp file
[DEBUG] Renaming /Users/kaihempel/.claude.json.tmp.21160.1761219387080 to /Users/kaihempel/.claude.json
[DEBUG] File /Users/kaihempel/.claude.json written atomically
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] Hooks: getAsyncHookResponseAttachments called
[DEBUG] Hooks: checkForNewResponses called
[DEBUG] Hooks: Found 0 total hooks in registry
[DEBUG] Hooks: checkForNewResponses returning 0 responses
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] Getting matching hook commands for UserPromptSubmit with query: undefined
[DEBUG] Found 0 hook matchers in settings
[DEBUG] Matched 0 unique hooks for query "no match query" (0 before deduplication)
[DEBUG] FileHistory: Making snapshot for message 40a353a2-a669-4666-b442-8a3a53ef68a0
[DEBUG] FileHistory: Added snapshot for 40a353a2-a669-4666-b442-8a3a53ef68a0, tracking 0 files
[DEBUG] Writing to temp file: /Users/kaihempel/.claude.json.tmp.21160.1761219387152
[DEBUG] Preserving file permissions: 100600
[DEBUG] Temp file written successfully, size: 33813 bytes
[DEBUG] Applied original permissions to temp file
[DEBUG] Renaming /Users/kaihempel/.claude.json.tmp.21160.1761219387152 to /Users/kaihempel/.claude.json
[DEBUG] File /Users/kaihempel/.claude.json written atomically
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] Hooks: getAsyncHookResponseAttachments called
[DEBUG] Hooks: checkForNewResponses called
[DEBUG] Hooks: Found 0 total hooks in registry
[DEBUG] Hooks: checkForNewResponses returning 0 responses
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] UserCommandMessage rendering: "speckit.plan is running…" (args: "none")
[DEBUG] isSkillFormat: false, prefix: "/"
[DEBUG] Getting matching hook commands for UserPromptSubmit with query: undefined
[DEBUG] Found 0 hook matchers in settings
[DEBUG] Matched 0 unique hooks for query "no match query" (0 before deduplication)
[DEBUG] FileHistory: Making snapshot for message 3ef1c3d1-9c4c-4c70-975d-866fc4049082
[DEBUG] FileHistory: Added snapshot for 3ef1c3d1-9c4c-4c70-975d-866fc4049082, tracking 0 files
[DEBUG] Writing to temp file: /Users/kaihempel/.claude.json.tmp.21160.1761219387205
[DEBUG] Preserving file permissions: 100600
[DEBUG] Temp file written successfully, size: 33813 bytes
[DEBUG] Applied original permissions to temp file
[DEBUG] Renaming /Users/kaihempel/.claude.json.tmp.21160.1761219387205 to /Users/kaihempel/.claude.json
[DEBUG] File /Users/kaihempel/.claude.json written atomically
The following line was in every log i viewed to investigate this bug:
[DEBUG] Getting matching hook commands for UserPromptSubmit with query: undefinedClaude Code Version:
2.0.24 and 2.0.25
same here
This is still an issue. Just getting a prompt spins my laptop fans at full speed...
same in 2.0.29
This is still an issue on the latest version. It will literally sit there for hours if I let it doing absolutely nothing but maxing out a core on my i7.
This seems to be fixed with a recent update, will close for now.
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.