[BUG] Claude Code hangs silently after trust dialog on Windows — regression in 2.1.59–2.1.69 (2.1.58 stable works)
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?
[BUG] Claude Code hangs silently after trust dialog on Windows — regression in 2.1.59–2.1.69 (2.1.58 stable works)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
Environment
- Platform: Anthropic API (native installer)
- Claude CLI version: 2.1.69 (also reproduced on 2.1.68)
- Operating System: Windows (<domain> domain-joined)
- Terminal: PowerShell
- Install method: Native (
C:\Users\<user>\.local\bin\claude.exe)
Bug Description
Claude Code hangs silently and indefinitely after the trust dialog is accepted. Zero output, zero error messages. No new process spawns after trust acceptance — the hang occurs during initialization, after trust is accepted but before the main TUI loads. --debug produces no additional output. Ctrl+C cannot interrupt the hang; only closing the terminal ends the process.
Confirmed working: Downgrade to 2.1.58 (current stable) completely resolves the issue. The regression was introduced somewhere in the 2.1.59–2.1.69 range.
Reproduction Steps
- Install Claude Code 2.1.69 (native installer) on Windows
- Open PowerShell
- Run
claudein any directory (including brand new empty directories) - Accept the trust dialog ("Yes, I trust this folder")
- Result: CLI hangs indefinitely — no TUI, no output, no error
Expected Behavior
Claude Code should load the TUI and be ready to accept input after trust dialog acceptance.
Key Diagnostic Findings
The hang is NOT caused by any of these (all ruled out):
| Theory | Test | Result |
|--------|------|--------|
| .claude/settings.local.json corruption | Wiped to {} | Still hangs |
| CLAUDE.md or .mcp.json files | Recursive search — none found | Ruled out |
| hasTrustDialogAccepted in .claude.json | Set to false — trust dialog reappears, but hang returns after re-accepting | Partially confirmed hang is post-trust |
| Corrupt .claude.json projects section | Removed entire projects block | Still hangs |
| Network/auth issue | api.anthropic.com reachable, auth token valid | Ruled out |
| Process not spawning | Confirmed via process list — no child process after trust | Hang is in initialization |
| Renamed .claude.json entirely | Printed "config not found" in a loop, still hung | Can't start without it |
| Outdated version | Updated from 2.1.68 → 2.1.69 | Still hangs |
| statusLine hook in settings.json | Removed entirely | Still hangs |
| MCP subsystem | Set CLAUDE_CODE_DISABLE_MCP=1 | Still hangs |
| All optional features | Set CLAUDE_CODE_SIMPLE=1 + CLAUDE_CODE_DISABLE_MCP=1 | Still hangs |
| .claude.json file permissions | Checked — full control, not read-only (IsReadOnly: False) | Ruled out |
| Duplicate installations (npm conflict) | where.exe claude shows single path; npm not even on PATH | Ruled out |
| Stale lock files | Lock files exist in ~/.claude/tasks/ but are from old sessions | Not the cause |
| .bashrc / .bash_profile hanging Git Bash | No user .bashrc or .bash_profile exists | Ruled out |
| Node.js installation conflict | Node.js recently installed but claude doctor shows clean native install, no npm copy | Ruled out |
claude doctor output (on 2.1.69):
Diagnostics
└ Currently running: native (2.1.69)
└ Path: C:\Users\mstoner\.local\bin\claude.exe
└ Invoked: C:\Users\mstoner\.local\bin\claude.exe
└ Config install method: native
└ Search: OK (bundled)
Updates
└ Auto-updates: enabled
└ Auto-update channel: latest
└ Stable version: 2.1.58
└ Latest version: 2.1.69
Version Locks
└ No active version locks
Resolution:
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.58
2.1.58 starts immediately with no issues.
Additional Context
- The hang affects every directory, including brand new ones Claude Code has never seen — this is not project-specific.
- The fact that stable channel is still at 2.1.58 (11 versions behind latest) is consistent with regressions in the 2.1.59+ range.
- This may be related to:
- #23016 — Windows 11 terminal freeze on startup in 2.1.30/2.1.31 (MCP init regression, but
CLAUDE_CODE_DISABLE_MCP=1does NOT fix this instance) - #29162 —
.claude.jsonset to read-only causing silent EPERM loop (same symptom pattern, but permissions are fine here) - #29652 — Hang after Feb 28 update on Windows due to settings regression
- The silent failure with zero debug output even with
--debugmakes this extremely difficult to diagnose from the user side. A fast-fail with an error message would save significant debugging time.
Settings at time of issue
~/.claude/settings.json:
{
"autoUpdatesChannel": "latest",
"skipDangerousModePermissionPrompt": true
}
C:\Code\.claude\settings.local.json:
{}
No .bashrc, .bash_profile, CLAUDE.md, or .mcp.json files present.
What Should Happen?
Expected Behavior
Claude Code should load the TUI and be ready to accept input after trust dialog acceptance.
Error Messages/Logs
none....system hangs with no output. Even with --debug there is no output.
Steps to Reproduce
- Install Claude Code 2.1.69 (native installer) on Windows
- Open PowerShell
- Run
claudein any directory (including brand new empty directories) - Accept the trust dialog ("Yes, I trust this folder")
- Result: CLI hangs indefinitely — no TUI, no output, no error
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.68, 2.1.69
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
_No response_
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗