mkdir で落ちるときに見えたものまず、自分のケースかどうかを切り分けます。今回の報告で共通していたのは、Windows 上で Claude Code を使っていること、そして EEXIST が出ていることでした。ひとつは worktree の扱いで「git リポジトリではない」と誤判定される話、もうひとつは ~/.claude/session-env/<session-id> を作るところで mkdir が EEXIST になる話です。前者は #40164、後者は #65309 です。
ただし、筆者の手元で確認できたのは macOS 上の Claude Code 2.1.207 までです。Windows で同じ再現確認はしていません。なので、ここで書けるのは「こういう症状の issue が実際にある」「手元の環境ではこのバージョンとこの導入状態だった」という範囲に限られます。
#65309 のほうは、報告内容がかなり具体的でした。Bash ツールのセッション開始時に環境変数を出すと、セッションごとのディレクトリ ~/.claude/session-env/<session-id>/ が作られ、そのあと同じ場所に対して Bash ツール側のセットアップが非冪等に mkdir を試みて失敗する、という説明です。実際のエラーはこうでした。
EEXIST: file already exists, mkdir 'C:\Users\<user>\.claude\session-env\<session-id>'
この issue の報告では、その後 Bash ツールがセッション全体で使えなくなる、とされています。つまり、単発の失敗ではなく、そのセッション中ずっと Bash が壊れたままになる、という切り分けが重要です。もし同じように「Bash tool が使えない」「mkdir で EEXIST」という流れなら、まずこの issue と近いです。
一方で #40164 は少し様子が違います。isolation: "worktree" を使うと、Claude Code が Git リポジトリ判定に失敗したように見えて、worktree なしで起動し直してしまうという報告でした。エラーメッセージは次のものです。
Cannot create agent worktree: not in a git repository and no
WorktreeCreate hooks are configured. Configure WorktreeCreate/WorktreeRemove
hooks in settings.json to use worktree isolation with other VCS systems.
その直後に
Not a git repo — spawning without worktree isolation.
と落ちる、という流れです。報告上は Windows 11、Git Bash をシェルとして使っている条件で起きています。コメントでは、Windows のパス解決が Unix 風の扱いと噛み合っていないのでは、という指摘がありました。ただし、これはコメントに書かれていた推測であって、筆者が検証した事実ではありません。
手元で確認できた Claude Code の状態は、少なくともインストール自体は壊れていない、というものでした。
$ claude --version
2.1.207 (Claude Code)
$ claude doctor
Claude Code doctor
Running: native (2.1.207)
Commit: bc512d563325
Platform: darwin-arm64
Path: ~/.local/share/claude/versions/2.1.207
Config install method: native
Search: OK (bundled)
Auto-updates: enabled
Auto-update channel: latest
Last update attempt: none recorded
Multiple installations found
- npm-global at /usr/local/bin/claude
- native at ~/.local/bin/claude
Remote Control
Control this session from claude.ai/code or the Claude mobile app
1 warning found
- Leftover npm global installation at /usr/local/bin/claude
Fix: Run: npm -g uninstall @anthropic-ai/claude-code
この出力から分かるのは、筆者の環境では native の 2.1.207 が動いていて、npm-global の残骸が見つかっていることです。もっとも、これは EEXIST 問題の原因だとまでは言えません。関連があるかどうかは、この出力だけでは分からないです。
現時点で実際に言えるのは、EEXIST という同じ文字列でも、issue の中身は少なくとも二つに分かれていることです。ひとつは Windows での Bash ツールのセッションディレクトリ作成失敗、もうひとつは Windows での worktree 判定失敗です。どちらも Windows 由来の path / filesystem 周辺の挙動が絡んでいるように見えますが、筆者の環境ではそこまでの再現は取れていません。
もし自分のログが EEXIST: file already exists, mkdir ...session-env... に近いなら #65309 を、not in a git repository と worktree まわりなら #40164 を見るのが近道です。どちらも解決済みで閉じられてはいますが、本文だけでは「どの修正がいつ入ったか」までは確認できませんでした。
claude --version : 2.1.207 (Claude Code)
OS : Darwin 25.3.0 (arm64)
Python : 3.14.2
検証日時 : 2026-08-10T12:37:10+09:00