[BUG] Claude Code process enters infinite loop and becomes completely unresponsive during long-running API calls.

Resolved 💬 3 comments Opened Nov 7, 2025 by michel778 Closed Nov 11, 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?

## Environment

  • Claude Code Version: 2.0.32
  • OS: Ubuntu Linux 6.8.0-1040-nvidia-lowlatency
  • Architecture: x86_64

## Symptoms

  1. Process consumes 10-40% CPU continuously but makes no progress
  2. Terminal shows status updates but accepts no keyboard input (including Ctrl+C)
  3. Memory usage grows over time (764MB → 1.5GB+)
  4. Multiple zombie git processes accumulate
  5. Only killable with kill -9

## Root Cause
Process stuck in infinite loop repeatedly checking for non-existent config file:

access("/home/username/.claude/.config.json", F_OK) = -1 ENOENT (No such file or directory)
access("/home/username/.claude.json", F_OK) = 0
statx(AT_FDCWD, "/home/username/.claude.json", AT_STATX_SYNC_AS_STAT, STATX_ALL, ...) = 0
[repeats hundreds of times per second]

Additional observations:

  • Continuously reading from timer file descriptors (fd 6, 7, 8)
  • Writing terminal escape sequences on repeat to fd 12
  • stdin (fd 17) IS registered in epoll with EPOLLIN but never processed
  • Active HTTPS connections to Anthropic API showing normal traffic flow
  • Never returns to main event loop

## Steps to Reproduce

  1. Start Claude Code session with multiple MCP servers
  2. Run session for extended period (~9 hours)
  3. Trigger API call that takes longer than normal to respond
  4. Process enters infinite config check loop

## Expected Behavior

  • API calls should timeout gracefully
  • Process should remain responsive to keyboard input (Ctrl+C)
  • Should not enter infinite configuration file checking loop

## Actual Behavior

  • Process completely frozen, unresponsive to all input
  • Requires kill -9 to terminate
  • Terminal session unrecoverable

## Configuration Context

  • Working directory: /home/username/workspace/rebootmonkey/www.rebootmonkey.com/www/
  • MCP servers active: datacommons-mcp, mcp-server-gsc, google-trends-mcp, claude-talk-to-figma-mcp
  • Existing config files working properly:
  • ~/.claude.json (72KB)
  • ~/.claude/settings.json (2.7KB)
  • ~/.claude/settings.local.json (8.7KB)

## Questions

  1. Why is Claude Code checking for ~/.claude/.config.json which doesn't exist and isn't documented?
  2. Is this a legacy path that should be removed?
  3. Why does a slow API response trigger infinite config checking?

## System Resources

  • 128GB RAM available, no memory pressure
  • No OOM events
  • Git repository clean,

What Should Happen?

## Environment

  • Claude Code Version: 2.0.35
  • OS: Ubuntu Linux 6.8.0-1040-nvidia-lowlatency
  • Architecture: x86_64

## Symptoms

  1. Process consumes 10-40% CPU continuously but makes no progress
  2. Terminal shows status updates but accepts no keyboard input (including Ctrl+C)
  3. Memory usage grows over time (764MB → 1.5GB+)
  4. Multiple zombie git processes accumulate
  5. Only killable with kill -9

## Root Cause
Process stuck in infinite loop repeatedly checking for non-existent config file:

access("/home/username/.claude/.config.json", F_OK) = -1 ENOENT (No such file or directory)
access("/home/username/.claude.json", F_OK) = 0
statx(AT_FDCWD, "/home/username/.claude.json", AT_STATX_SYNC_AS_STAT, STATX_ALL, ...) = 0
[repeats hundreds of times per second]

Additional observations:

  • Continuously reading from timer file descriptors (fd 6, 7, 8)
  • Writing terminal escape sequences on repeat to fd 12
  • stdin (fd 17) IS registered in epoll with EPOLLIN but never processed
  • Active HTTPS connections to Anthropic API showing normal traffic flow
  • Never returns to main event loop

## Steps to Reproduce

  1. Start Claude Code session with multiple MCP servers
  2. Run session for extended period (~9 hours)
  3. Trigger API call that takes longer than normal to respond
  4. Process enters infinite config check loop

## Expected Behavior

  • API calls should timeout gracefully
  • Process should remain responsive to keyboard input (Ctrl+C)
  • Should not enter infinite configuration file checking loop

## Actual Behavior

  • Process completely frozen, unresponsive to all input
  • Requires kill -9 to terminate
  • Terminal session unrecoverable

## Configuration Context

  • Working directory: /home/username/workspace/rebootmonkey/www.rebootmonkey.com/www/
  • MCP servers active: datacommons-mcp, mcp-server-gsc, google-trends-mcp, claude-talk-to-figma-mcp
  • Existing config files working properly:
  • ~/.claude.json (72KB)
  • ~/.claude/settings.json (2.7KB)
  • ~/.claude/settings.local.json (8.7KB)

## Questions

  1. Why is Claude Code checking for ~/.claude/.config.json which doesn't exist and isn't documented?
  2. Is this a legacy path that should be removed?
  3. Why does a slow API response trigger infinite config checking?

## System Resources

  • 128GB RAM available, no memory pressure
  • No OOM events
  • Git repository clean,

Error Messages/Logs

Steps to Reproduce

## Environment

  • Claude Code Version: 2.0.35
  • OS: Ubuntu Linux 6.8.0-1040-nvidia-lowlatency
  • Architecture: x86_64

## Symptoms

  1. Process consumes 10-40% CPU continuously but makes no progress
  2. Terminal shows status updates but accepts no keyboard input (including Ctrl+C)
  3. Memory usage grows over time (764MB → 1.5GB+)
  4. Multiple zombie git processes accumulate
  5. Only killable with kill -9

## Root Cause
Process stuck in infinite loop repeatedly checking for non-existent config file:

access("/home/username/.claude/.config.json", F_OK) = -1 ENOENT (No such file or directory)
access("/home/username/.claude.json", F_OK) = 0
statx(AT_FDCWD, "/home/username/.claude.json", AT_STATX_SYNC_AS_STAT, STATX_ALL, ...) = 0
[repeats hundreds of times per second]

Additional observations:

  • Continuously reading from timer file descriptors (fd 6, 7, 8)
  • Writing terminal escape sequences on repeat to fd 12
  • stdin (fd 17) IS registered in epoll with EPOLLIN but never processed
  • Active HTTPS connections to Anthropic API showing normal traffic flow
  • Never returns to main event loop

## Steps to Reproduce

  1. Start Claude Code session with multiple MCP servers
  2. Run session for extended period (~9 hours)
  3. Trigger API call that takes longer than normal to respond
  4. Process enters infinite config check loop

## Expected Behavior

  • API calls should timeout gracefully
  • Process should remain responsive to keyboard input (Ctrl+C)
  • Should not enter infinite configuration file checking loop

## Actual Behavior

  • Process completely frozen, unresponsive to all input
  • Requires kill -9 to terminate
  • Terminal session unrecoverable

## Configuration Context

  • Working directory: /home/username/workspace/rebootmonkey/www.rebootmonkey.com/www/
  • MCP servers active: datacommons-mcp, mcp-server-gsc, google-trends-mcp, claude-talk-to-figma-mcp
  • Existing config files working properly:
  • ~/.claude.json (72KB)
  • ~/.claude/settings.json (2.7KB)
  • ~/.claude/settings.local.json (8.7KB)

## Questions

  1. Why is Claude Code checking for ~/.claude/.config.json which doesn't exist and isn't documented?
  2. Is this a legacy path that should be removed?
  3. Why does a slow API response trigger infinite config checking?

## System Resources

  • 128GB RAM available, no memory pressure
  • No OOM events
  • Git repository clean,

Claude Model

Sonnet (default)

Is this a regression?

Yes, this worked in a previous version

Last Working Version

dunno

Claude Code Version

check

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

iTerm2

Additional Information

_No response_

View original on GitHub ↗

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