close
Skip to content

[Bug] Complete system freeze when running 2+ GoLand IDE instances with Claude Code #14674

@kolkov

Description

@kolkov

Bug Description

Complete system freeze occurs when running 2 or more GoLand IDE instances with Claude Code simultaneously.

UPDATE: Just Reproduced with Detailed Scenario!

What just happened (2025-12-19):

  1. 3 Claude Code instances running in GoLand IDE
  2. Instance 1: Writing this bug report (active, responding)
  3. Instance 2 & 3: Running long tasks — both froze after 2-3 minutes
  4. Instance 1 remained responsive while others were frozen
  5. Attempted to send a comment from Instance 1 to add details to this issue
  6. INSTANT FREEZE — Instance 1 froze immediately, then entire computer froze
  7. Only hard reboot recovered the system

Root Cause Hypothesis: Concurrent File Access

This behavior strongly suggests race condition in .claude.json file access:

  • All instances read/write to the same config file
  • When Instance 1 tried to save/sync while writing the issue comment
  • File lock contention caused deadlock → system freeze

Supporting evidence from related issues:

Symptoms

  • Computer freezes almost completely
  • Only mouse cursor can move (sometimes)
  • Window switching occasionally works but is extremely sluggish
  • Cannot reboot normally — standard shutdown methods don't work
  • Only hard reboot (long press on power button) recovers the system

Environment Info

  • Platform: Windows 10 (win32)
  • Terminal: GoLand IDE (multiple instances)
  • Claude Code Version: 2.0.72
  • Feedback ID: 6dec4a08-1e22-4031-b2ff-5884183aa942

Steps to Reproduce

  1. Open GoLand IDE with Claude Code extension
  2. Open a second GoLand IDE instance with Claude Code
  3. Start tasks in both instances simultaneously
  4. Wait 2-3 minutes — one or both will freeze
  5. Try to interact with the remaining responsive instance
  6. System freezes completely — only mouse moves, no keyboard/window response
  7. Hard reboot required

Expected Behavior

Multiple IDE instances should work without causing system-wide freezes. At minimum:

  • Proper file locking for .claude.json
  • Graceful degradation instead of complete system freeze
  • Per-project or per-instance config separation

The Real Fix Needed

As documented in #7243, the .claude.json architecture is fundamentally broken:

  • No atomic writes → file corruption on concurrent access
  • No file locking → race conditions, deadlocks
  • Everything in one file → massive contention

Proposed solution:

~/.claude/
├── config.json          # Static configuration only (rarely written)
├── mcp_servers.json     # MCP settings
├── sessions/            # Per-session state (isolated)
│   ├── session-{uuid}.json
└── data/
    └── history.db       # SQLite for conversation history (proper locking)

Errors

[]

No errors captured — system freezes before any logs can be collected.


Related Issues:

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:corearea:ideautocloseIssue will be closed automaticallybugSomething isn't workinghas reproHas detailed reproduction stepsmemoryplatform:windowsIssue specifically occurs on Windows

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions