[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?

  1. Orphan lock files left in ~/.claude/ide/*.lock
  2. Failed reconnection attempts write broken/malformed entries into settings.json
  3. On next launch, settings.json crashes the process instantly
  4. User sees "Query closed before response received" on login screen
  5. 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

View original on GitHub ↗

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