[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_

View original on GitHub ↗

9 Comments

github-actions[bot] · 10 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/9977
  2. https://github.com/anthropics/claude-code/issues/6474
  3. https://github.com/anthropics/claude-code/issues/9658

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

fwends · 10 months ago

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

kaihempel · 10 months ago

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: undefined

Claude Code Version:

2.0.24 and 2.0.25

chuchiring · 10 months ago

same here

winrid · 10 months ago

This is still an issue. Just getting a prompt spins my laptop fans at full speed...

SuperElephant · 10 months ago

same in 2.0.29

winrid · 9 months ago

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.

winrid · 9 months ago

This seems to be fixed with a recent update, will close for now.

github-actions[bot] · 9 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.