[BUG] Claude Code hangs on logout/token refresh, corrupts settings.json and leaves orphan lock files — Windows ARM64
Resolved 💬 3 comments Opened Apr 23, 2026 by abelramiGH Closed Apr 26, 2026
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?
Platform: Windows ARM64 (Snapdragon)
Claude Code version: 2.1.118
Plan: Max 5x
RECURRING BUG (every ~7 days):
When the OAuth token expires or user logs out, Claude Code hangs mid-shutdown and never cleans up properly. This causes:
ROOT CAUSE:
- Shutdown handler does not delete .lock files on Windows ARM64
- Reconnection retry loop writes malformed permission strings to settings.json
- Specifically: "Bash(node -e ' )" and "Bash(powershell -Command ' )" — unclosed quotes
PROPER FIX NEEDED:
- Clean shutdown handler that deletes lock files before exit
- Validation on permission strings before writing to settings.json
- Better error message when settings.json fails to parse (currently shows fake login screen)
What Should Happen?
- Orphan lock files left in ~/.claude/ide/*.lock
- Failed reconnection attempts write broken/malformed entries into settings.json
- On next launch, settings.json crashes the process instantly
- User sees "Query closed before response received" on login screen
- Completely locked out — looks like an auth failure but isn't
Error Messages/Logs
query closed before response recieveed
Steps to Reproduce
logout , or get disconected
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.1.18
Platform
Other
Operating System
Windows
Terminal/Shell
Terminal.app (macOS)
Additional Information
WORKAROUND:
Remove-Item "$env:USERPROFILE\.claude\ide\*.lock" -Force
Remove-Item "$env:USERPROFILE\.claude\settings.json" -Force
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗