Skip to content

原文(日本語訳)

Windowsで設定ファイルが同時書き込みによって破損する問題を修正しました。

原文(英語)

Fixed concurrent writes corrupting config file on Windows

概要

Windows環境でClaude Codeを複数のウィンドウやセッションで同時に起動したとき、設定ファイル(~/.claude.json)が同時書き込みによって破損する問題が修正されました。この問題が発生すると、JSONパースエラー(Unexpected EOF)が起き、OAuth認証情報やセッション設定が失われていました。バージョン2.1.61での修正により、Windows環境でより安定した動作が期待できます。

基本的な使い方

この修正を適用するには、Claude Codeを2.1.61以降に更新してください。

bash
# Claude Codeを最新バージョンに更新
claude update

# バージョン確認
claude --version

更新後は、複数のClaude Codeウィンドウを同時に開いても設定ファイルが安全に維持されます。

実践例

複数セッションを安全に並行利用

バージョン2.1.61以降では、複数のターミナルでClaude Codeを同時に起動しても安全です。

powershell
# ターミナル1: フロントエンドの作業
claude "src/components/Button.tsx を修正してください"

# ターミナル2(別ウィンドウ): バックエンドの作業
claude "api/routes/users.ts のエラーハンドリングを改善してください"

設定ファイルの状態確認

設定ファイルの状態を確認し、破損していないかチェックできます。

powershell
# Windows PowerShellで設定ファイルを確認
Get-Content "$env:USERPROFILE\.claude.json" | ConvertFrom-Json

問題がなければ正常にJSONが解析されます。

バックアップファイルの整理

以前のバージョンで破損が発生していた場合、バックアップファイルが蓄積されている可能性があります。

powershell
# バックアップファイルの確認(Windowsの場合)
Get-ChildItem "$env:USERPROFILE\.claude\backups\" | Sort-Object LastWriteTime -Descending | Select-Object -First 10
bash
# WSLや Git Bash の場合
ls -lt ~/.claude/backups/ | head -10

不要なバックアップファイルが多数ある場合は整理できます。

設定ファイルの場所と構造

Claude Codeの主要な設定ファイルは以下の場所にあります(Windows環境)。

powershell
# グローバル設定ファイル(OAuth情報を含む)
C:\Users\<ユーザー名>\.claude.json

# ユーザーレベルの設定
C:\Users\<ユーザー名>\.claude\settings.json

# エンタープライズ管理設定
C:\Program Files\ClaudeCode\managed-settings.json

設定ファイルの構造例(~/.claude/settings.json)。

json
{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "permissions": {
    "allow": ["Bash(npm run *)", "Read(~/.zshrc)"],
    "deny": ["Bash(curl *)"]
  },
  "model": "claude-sonnet-4-6"
}

注意点

  • この問題はWindows固有のものでした。macOSおよびLinux/WSL環境では発生しません
  • 修正前のバージョン(2.1.59以前)では、複数インスタンスを同時に起動するとファイルロック競合(EPERMエラー)が発生していました
  • 設定ファイルが破損した場合、Claude Codeは自動的にバックアップを作成し、デフォルト設定にリセットします。その際、OAuthアカウント情報なども失われるため、再ログインが必要になります
  • ~/.claude/backups/ ディレクトリにバックアップファイルが多数蓄積している場合は、手動で不要なものを削除して構いません
  • エンタープライズ環境でグループポリシーを使用している場合は、レジストリ設定(HKLM\SOFTWARE\Policies\ClaudeCode)が優先されます

関連情報