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
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗