claude update fails with EEXIST on Windows when directories already exist

Resolved 💬 4 comments Opened Mar 30, 2026 by sameer-bonfire Closed Mar 30, 2026

Description

Running claude update on Windows consistently fails with:

Error: EEXIST: file already exists, mkdir 'D:\home\.local\share\claude\versions'

and/or:

Error: EEXIST: file already exists, mkdir 'D:\home\.cache\claude\staging'

This happens because the updater uses fs.mkdirSync() (or equivalent) without { recursive: true }, so it throws when the directory already exists from a previous install/update.

Workaround

Manually delete the offending directory before running claude update.

Expected behavior

The updater should use { recursive: true } on all mkdir calls so pre-existing directories don't cause failures.

Environment

  • Windows 11 Enterprise
  • Claude Code 2.1.83

View original on GitHub ↗

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