📌 はじめに
ある日突然、Windows環境で claude コマンドを実行しても 何も表示されない という現象に遭遇しました。エラーメッセージすら出ません。
> claude --version
>
何も起きていないように見えますが、実はバイナリが 起動直後にクラッシュ していました。
原因の特定から解決まで、かなり手こずったので共有します。
同じ問題で困っている方の参考になれば幸いです。
環境
- Windows 11
- PowerShell
- Claude Code(native インストール)
- Windowsのユーザー名が日本語(全角スペースを含む)
本記事は、日本語ユーザー名環境で発生した事象の備忘録です。
英数字のみのユーザー名であれば本問題に遭遇しないかもしれません。
…そんな日本語なんて使わないよという人は、クラッシュ時のコードを調べる方法として読んでいただけると幸いです。
🚨 症状の詳細
-
claudeを実行 → 何も出力されずにプロンプトに戻る -
claude --version→ 同上 - 直前までは正常に動作していた
- PC再起動しても改善しない
🔍 原因を特定するまで
ステップ1:バイナリは存在するか?
まず、そもそも claude.exe がちゃんとインストールされているか確認します。
Test-Path "$env:USERPROFILE\.local\bin\claude.exe"
# True → バイナリは存在する
ファイルサイズも約230MBと正常でした。つまり バイナリ破損ではない ということです。
ステップ2:終了コードを見る(ここが重要!)
コマンドが何も出力しないとき、次に確認すべきは 終了コード です。PowerShellでは $LASTEXITCODE で取得できます。
claude --version
$LASTEXITCODE
# -1073741819
この数値、見慣れないですよね。実はこれを16進数に変換すると意味がわかります。
-1073741819 (10進数) = 0xC0000005 (16進数) = ACCESS_VIOLATION
ACCESS_VIOLATION は、プログラムが不正なメモリ領域にアクセスしようとしたときに発生するWindowsのエラーです。つまり、claude.exe は 起動した瞬間にクラッシュ していたわけです。
ステップ3:デバッグログを確認
Claude Codeは ~/.claude/debug/ にデバッグログを出力しますが、確認したところ最新のログは数日前のものでした。今回のクラッシュに関するログは一切ありません。
これは アプリケーションのコードに到達する前にクラッシュしている ことを意味します。設定ファイルの読み込みやパスの解決など、非常に初期の段階で問題が起きていたということです。
ステップ4:設定ファイルを疑う → 原因判明
Claude Codeの設定は主に以下のファイルに保存されています。
| ファイル | 役割 |
|---|---|
~/.claude/settings.json |
ユーザー設定 |
~/.claude/settings.local.json |
ローカル設定(許可リストなど) |
~/.claude.json |
状態管理(認証、統計、機能フラグなど) |
settings.json と settings.local.json は正常でした。しかし、.claude.json を開いてみると…
{
"projects": {
"C:/Users/<文字化けした文字列>": {
...
}
}
}
プロジェクトパスが完全に文字化け していました。
本来あるべき日本語のパスが、Shift_JIS と UTF-8 の変換がおかしくなり、意味不明な文字列になっています。
文字化けしたバイト列を含むJSONをバイナリが読み込もうとした際に、不正なメモリアクセスが発生し、ACCESS_VIOLATION でクラッシュしていたと考えられます。
🔧 対応(試行錯誤の記録)
試して効果がなかったこと
まず、効果がなかった対処も記録しておきます。同じ轍を踏まないための参考にどうぞ。
-
.claude.jsonだけの削除 → 改善せず(~/.claude/projects/フォルダ内にも文字化けデータが残っていたため) - OS の UTF-8 モード有効化(「システムロケールの変更」→ Unicode UTF-8 を使用)→ 改善せず
Cowork(GUI版)では UTF-8 ロケール変更で解決できたケースがありましたが、Claude Code(CLI版)では効果がありませんでした。すでに保存された文字化けデータが原因のため、ロケール変更だけでは解消しないようです。
✅ 解決策:完全再インストール
最終的に、設定フォルダごとリセットして再インストールすることで解決しました。
① バイナリを削除
Remove-Item "$env:USERPROFILE\.local\bin\claude.exe" -Force
② 設定フォルダをバックアップしてリネーム
Rename-Item "$env:USERPROFILE\.claude" "$env:USERPROFILE\.claude_full_backup"
③ 状態管理ファイルを削除
Remove-Item "$env:USERPROFILE\.claude.json" -ErrorAction SilentlyContinue
④ 再インストール
irm https://claude.ai/install.ps1 | iex
⑤ 新しいPowerShellウィンドウを開いて確認
claude --version
# 2.1.91 (Claude Code) ← 復活!
$LASTEXITCODE
# 0 ← 正常終了
⑥ 必要な設定だけ復元
全部戻すと文字化けデータも戻ってしまうので、必要なファイルだけ選んで復元します。
# 認証情報
Copy-Item "$env:USERPROFILE\.claude_full_backup\.credentials.json" "$env:USERPROFILE\.claude\.credentials.json"
# 設定ファイル
Copy-Item "$env:USERPROFILE\.claude_full_backup\settings.json" "$env:USERPROFILE\.claude\settings.json" -Force
Copy-Item "$env:USERPROFILE\.claude_full_backup\settings.local.json" "$env:USERPROFILE\.claude\settings.local.json"
セッション履歴(過去の会話ログ)は ~/.claude_full_backup/projects/ に残っていますが、これを戻すと再びクラッシュする可能性があるため、復元しないのが安全です。
📝 まとめ
| ポイント | 内容 |
|---|---|
| 症状 |
claude コマンドが無言で終了する |
| 原因 | 日本語ユーザー名に起因するパスの文字化けによる ACCESS_VIOLATION |
| 調査の鍵 |
$LASTEXITCODE で終了コード -1073741819(= 0xC0000005)を確認 |
| 解決策 |
~/.claude フォルダごとバックアップ → 再インストール → 設定のみ復元 |
💡 教訓
「何も出力されない」は「何も起きていない」ではない。 終了コードを確認する癖をつけると、原因特定が格段に速くなります。
また、Windows で日本語ユーザー名(特に全角スペース含む)を使っている場合、CLI ツール全般でエンコーディング周りのトラブルに遭遇しやすいです。可能であれば、開発用途では英数字のみのユーザー名を使うか、WSL2 環境の利用を検討するのも一つの手です。
以前の記事「【備忘】【Claude Cowork】Windows版が起動しない!日本語ユーザー名が原因だった話と【暫定】対処法」でも同様の日本語ユーザー名問題を扱っています。Cowork(GUI版)とClaude Code(CLI版)で症状や解決策が異なるのが興味深いところです。
🔗 参考リンク
- Claude Code 公式トラブルシューティング
-
GitHub Issue #14902: Native Windows(PowerShell) install of Claude Code is not viable
(バイナリ未ダウンロード問題の報告。本記事ステップ1で確認)
最後に、GMOコネクトでは研究開発や国際標準化に関する支援や技術検証をはじめ、幅広い支援を行っておりますので、何かありましたらお気軽にお問合せください。