[Bug] Claude Code 2.1.69 silently exits on Windows — EEXIST: file already exists, mkdir 'C:\Users\<username>'

Resolved 💬 3 comments Opened Mar 5, 2026 by p-arruda Closed Mar 9, 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?

After updating to 2.1.69, Claude Code exits silently on Windows immediately after launch with no output in the terminal. Running claude --version works, but running claude returns to the prompt instantly with no error shown.

What Should Happen?

Claude Code opens the interactive CLI session normally.

Error Messages/Logs

2026-03-05T13:08:45.695Z [ERROR] Failed to save config with lock: Error: EEXIST: file already exists, mkdir 'C:\Users\pedrohenrique'

2026-03-05T13:08:45.946Z [ERROR] Error: Error: EEXIST: file already exists, mkdir 'C:\Users\pedrohenrique'
    at mkdirSync (unknown)
    at mkdirSync (B:/~BUN/root/src/entrypoints/cli.js:12:3048)
    at d38 (B:/~BUN/root/src/entrypoints/cli.js:6483:5856)
    at IA (B:/~BUN/root/src/entrypoints/cli.js:6483:4432)
    at CnA (B:/~BUN/root/src/entrypoints/cli.js:4296:584)
    at processTicksAndRejections (native:7:39)

Steps to Reproduce

  1. Run claude install to update to 2.1.69
  2. Open PowerShell (any version)
  3. Run claude
  4. Observe: process exits immediately with no output

To see the error, enable debug logs first:
$env:CLAUDE_DEBUG = "1"
claude
Then inspect: Get-Content "$env:USERPROFILE\.claude\debug\<latest-file>.txt"

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.68 (version prior to 2.1.69)

Claude Code Version

2.1.69 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

  • The process fully initializes (loads MCP servers, plugins, agents, auth tokens) before crashing — the failure happens during config persistence via the lock mechanism, not during startup checks.
  • Auth credentials are valid (team subscription, token present).
  • No managed-settings.json or MDM policy files present.
  • The error does NOT occur with claude --version or claude --help — only on interactive session startup.
  • The CLI is attempting mkdir on 'C:\Users\<username>' (the home directory root, which already exists) instead of a subdirectory inside it — likely a Windows path regression in the config lock path computation introduced in 2.1.69.
  • Node.js version: v22.17.0

View original on GitHub ↗

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