claude-code - 💡(How to fix) Fix [BUG] Claude Code hangs indefinitely on first message — startup quota_check API request never completes [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#49563Fetched 2026-04-17 08:37:35
View on GitHub
Comments
2
Participants
2
Timeline
9
Reactions
0
Timeline (top)
labeled ×5commented ×2closed ×1cross-referenced ×1

Claude Code hangs indefinitely on the first message of any session. The UI shows a "thinking" spinner (Flambéing / Improvising / Cultivating / etc.) but no API request is made for the user's message. Debug logs show a startup /v1/messages request with source=quota_check that never gets a response logged, suggesting the app is wedged waiting on an uncompleted quota check.

Error Message

Error Messages/Logs

Root Cause

Claude Code hangs indefinitely on the first message of any session. The UI shows a "thinking" spinner (Flambéing / Improvising / Cultivating / etc.) but no API request is made for the user's message. Debug logs show a startup /v1/messages request with source=quota_check that never gets a response logged, suggesting the app is wedged waiting on an uncompleted quota check.

RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

Summary

Claude Code hangs indefinitely on the first message of any session. The UI shows a "thinking" spinner (Flambéing / Improvising / Cultivating / etc.) but no API request is made for the user's message. Debug logs show a startup /v1/messages request with source=quota_check that never gets a response logged, suggesting the app is wedged waiting on an uncompleted quota check.

Environment

  • Claude Code version: 2.1.112 (native installer, ~/.local/bin/claude)
  • macOS
  • Reproduces in both Ghostty and Terminal.app
  • Opus 4.7 with xhigh effort AND Sonnet with low effort both hang
  • Subscription: Claude Max

Steps to Reproduce

  1. Open terminal, cd to any directory (including empty ones like /tmp/claude-test)
  2. Run claude --debug
  3. Type "hello" and press Enter
  4. Session hangs indefinitely with thinking spinner; no response ever returned

What I've Ruled Out

Spent ~1 hour systematically eliminating local causes:

  • ✅ Disabled remoteControlAtStartup in ~/.claude.json
  • ✅ Removed all MCP servers (Gmail, Google Calendar, Notion disconnected from web UI)
  • ✅ Moved ~/.claude/plugins aside — still hangs
  • ✅ Tested in empty directory with no project CLAUDE.md
  • ✅ Tried both Opus 4.7 (xhigh) and Sonnet (low effort) — both hang
  • ✅ Tested in Terminal.app (not just Ghostty) — same behavior
  • curl to https://api.anthropic.com/v1/messages returns 401 in 25ms (network healthy)
  • claude auth logout + claude auth login — still hangs
  • ✅ Piped input via echo "hello" | claude --print — also hangs (not a keyboard/input issue)
  • ✅ Full clean reinstall: rm -rf ~/.local/bin/claude ~/.local/share/claude + curl -fsSL https://claude.ai/install.sh | bash + fresh claude auth login — still hangs

Key Debug Log Evidence

The startup quota check fires but no response is ever logged: [DEBUG] [API REQUEST] /v1/messages x-client-request-id=ea0ff8e1-043d-43f6-8f69-4981a3530833 source=quota_check

After this line, the log shows only plugin init, LSP init, and periodic heartbeats/presence pulses. When "hello" is typed, NO new API request is logged — the app never submits the user's message. This suggests the quota check is blocking all subsequent requests.

Additional Notes

  • Before disabling remoteControlAtStartup, /remote-control is active appeared at every session start despite never explicitly enabling it
  • Three claude.ai MCP servers (Gmail, Google Calendar, Notion) were stuck in "Needs authentication" state but could not be removed via claude mcp remove — they are account-level and had to be disconnected via claude.ai web UI
  • Happy to attach full debug log from ~/.claude/debug/latest if needed

30bd82d3-68de-48fe-adfb-4bb514576791.txt

What Should Happen?

Claude should respond when i say 'hello' upon starting claude

Error Messages/Logs

Steps to Reproduce

i mean i think its on my instance somehow. but i go to terminal, type in claude, it opens, i enter 'hello' and it stalls forever

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

No response

Claude Code Version

2.1.112 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

No response

extent analysis

TL;DR

The issue is likely caused by a stuck quota check request, and a potential workaround is to investigate and resolve the quota check issue or try resetting the Claude Code configuration.

Guidance

  • Investigate the quota check request and its potential causes, such as network issues or server-side problems.
  • Try resetting the Claude Code configuration by removing the ~/.claude directory and reinstalling the application.
  • Verify that the curl command to the Anthropic API endpoint returns a successful response to rule out network issues.
  • Check the debug logs for any error messages or clues that might indicate the cause of the stuck quota check request.

Example

No code snippet is provided as the issue seems to be related to the application's configuration or network requests.

Notes

The issue might be specific to the user's instance or configuration, and further investigation is needed to determine the root cause. The provided debug log evidence suggests that the quota check request is blocking subsequent requests, but the exact cause of this issue is unclear.

Recommendation

Apply workaround: Try resetting the Claude Code configuration and investigate the quota check issue to resolve the problem. This approach is recommended as it is a non-invasive and reversible change that may help identify or resolve the issue.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING