この記事でわかること
- Claude Code v2.1.47がWindows arm64でクラッシュする原因と背景
- WSL2(Ubuntu)への移行で完全復旧する手順
- 移行中に発生する4つの壁とその具体的な解決策
- 移行後のGitHub連携・設定ファイル再構築の方法
はじめに
2026年2月、Claude Code v2.1.47にアップデートした直後、Windows arm64環境で突然Claude Codeが使えなくなりました。
起動して数十秒〜数分後に panic: incorrect alignment というエラーが表示され、クラッシュ。3回連続で同じ現象が再現し、ターミナルでもPowerShellでも起動できない状態に陥りました。
本記事では、この問題の原因を特定し、WSL2(Ubuntu)上でClaude Codeを完全復旧させるまでの全手順を、実際に遭遇した4つのトラブルとともに解説します。
検証環境(2026-02-20時点)
- OS: Windows 11 arm64
- Claude Code: v2.1.47
- WSL2: Ubuntu(apt経由)
- Node.js: v22.x(nodesource)
1. 原因:Bunランタイムのarm64バグ
なぜクラッシュするのか
Claude CodeはランタイムとしてBunを内部に同梱しています。Windows arm64環境では、このBunにメモリアライメントのバグが存在し、panic: incorrect alignment エラーが発生します。
panic: incorrect alignment
この問題はBun単体のバージョンではなく、Claude Codeに同梱されたBunに起因するため、Bunを個別にアップグレードしても解決できません。
関連するGitHub Issues
- Claude Code crashes with ACCESS_VIOLATION on Windows ARM64 · Issue #13251
- Bun v1.3.5 crashes on Windows · Issue #18567
- Bun is crashing and preventing Claude Code · Issue #26985(oven-sh/bun)
Windows arm64でのBunクラッシュは複数報告されており、Anthropic/Bunチームも認識している既知の問題です。
解決策の選択
| 選択肢 | 実現可能性 | 備考 |
|---|---|---|
| Anthropicの修正を待つ | △ | 修正時期は未定 |
| Bun単体をアップグレード | ✗ | Claude Codeに同梱されたBunのため不可 |
| WSL2でNode.js版を使用 | ◎ | 即座に解決可能 |
| Linuxマシンに移行 | △ | 環境がある人のみ |
WSL2(Ubuntu)上でNode.js版のClaude Codeを実行するのが、最も現実的かつ即座に解決できる方法です。
2. 移行手順:4つの壁とその解決
WSL2への移行は単純ではありませんでした。実際に遭遇した4つの問題とその解決策を順に解説します。
壁1:WSL2が起動できない
症状
PowerShellで wsl を実行すると、以下のエラーが大量に出力されました。
CreateProcessParseCommon: Failed to translate
原因
作業ディレクトリのパスに日本語とスペースが含まれていたことが原因です。
❌ 例: OneDrive - 株式会社○○\デスクトップ\Project
WSL2はこのようなパスを正しく変換できません。また、そもそもUbuntuがインストールされていない場合もあります。
解決策
Step 1: シンプルなパスに移動してからWSLを起動する
# PowerShellで実行
cd C:\
Step 2: Ubuntuをインストールする
# PowerShellで実行(管理者権限)
wsl --install -d Ubuntu
インストール後、再起動が求められる場合があります。再起動後、Ubuntuが自動起動し、ユーザー名とパスワードの設定画面が表示されます。
⚠️ 注意: WSL2を起動する際は、日本語やスペースを含まないパス(C:\ や C:\dev など)から起動してください。
壁2:Node.jsが見つからない
症状
Claude Codeのインストール自体は成功するものの、実行時に以下のエラーが発生しました。
exec: node: not found
原因
npm install -g @anthropic-ai/claude-code は成功しますが、これはWindows側のnpmが使われていたためです。実行環境はLinux(WSL2)のため、Linux側のNode.jsが必要です。
解決策
WSL2のUbuntu内でNode.jsをインストールします。
# Node.js 22.x のリポジトリを追加してインストール
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
インストール確認:
node --version
# 期待結果: v22.x.x
npm --version
# 期待結果: 10.x.x
ℹ️ 補足: NVMを使ったインストールも可能です。複数バージョンを管理したい場合はNVMを推奨します。
壁3:Claude Codeのインストールと認証
Node.jsが準備できたら、Claude Codeをインストールします。
# Claude Codeのインストール
sudo npm install -g @anthropic-ai/claude-code
インストール確認:
claude --version
# 期待結果: 2.1.47 (Claude Code)
初回起動時はブラウザ認証が必要です。
# Claude Codeを起動
claude
ターミナルに認証URLが表示されるので、ブラウザで開いて認証を完了します。
壁4:パスのナビゲーションが困難
症状
WSL2内ではWindowsのパス形式(C:\...)が使えません。さらに、日本語やスペースを含むOneDriveのパスでは移動が非常に困難でした。
解決策
WSL2ではWindowsのドライブは /mnt/ 配下にマウントされています。
# Windowsのパス変換ルール
# C:\Users\username\Documents → /mnt/c/Users/username/Documents
# 日本語・スペースを含むパスはクォートで囲む
cd "/mnt/c/Users/username/OneDrive/Project"
推奨: シンボリックリンクで短縮名を作成する
# ホームディレクトリにショートカットを作成
ln -s "/mnt/c/dev" ~/dev
# 以降は短いパスで移動可能
cd ~/dev
⚠️ パフォーマンス注意: WSL2から /mnt/c/ 経由でWindowsファイルシステムにアクセスする場合、ディスクI/Oにパフォーマンスペナルティがあります。頻繁にアクセスするプロジェクトは、WSL2内(~/ 配下)に配置することを推奨します。
3. 移行後の環境構築
WSL2でClaude Codeが動くようになった後、以下の環境構築が必要です。
3-1. Git設定
WSL2のLinux環境には独自のGit設定が必要です。Windows側の設定は引き継がれません。
# ユーザー名とメールアドレスを設定
git config --global user.name "your-username"
git config --global user.email "your-email@example.com"
Windows側のリポジトリにアクセスする場合、所有者の不一致でエラーが出ることがあります。
fatal: detected dubious ownership in repository
対処法:
# 対象ディレクトリをsafe.directoryに追加
git config --global --add safe.directory '/mnt/c/path/to/your/repo'
3-2. GitHub CLI(gh)の設定
# GitHub CLIのインストール
sudo apt update
sudo apt install -y gh
# GitHub認証
gh auth login
認証方式を聞かれるので以下を選択します。
- GitHub.com を選択
- HTTPS を選択
- Login with a web browser を選択
- 表示されるワンタイムコードをコピー → ブラウザで認証
認証確認:
gh auth status
# 期待結果: ✓ Logged in to github.com account your-username
3-3. 設定ファイルの移行
Claude Codeの設定ファイルは、Windows側(C:\Users\username\.claude\)とWSL側(/home/username/.claude/)で別々に管理されます。WSL環境では /home/username/.claude/ が読み込まれます。
settings.json
Windows側にカスタム設定がある場合は、WSL側にも反映が必要です。
# WSL側の設定ファイルを編集
nano ~/.claude/settings.json
ステータスライン
Windows側でステータスラインを設定していた場合、コマンドのパスをWSL形式に変更する必要があります。
{
"statusLine": {
"type": "command",
"command": "node /mnt/c/Users/username/.claude/statusline.js"
}
}
⚠️ 注意: Windows側の設定でPowerShellやjqなど、WSL環境にないコマンドを使用している場合は動作しません。Node.jsやbashで動作するよう書き換えてください。
スキル・コマンド
ユーザーレベルのスキル(~/.claude/skills/)やコマンド(~/.claude/commands/)もWSL側にコピーが必要です。
# Windows側からWSL側にスキルをコピー
cp -r /mnt/c/Users/username/.claude/skills/* ~/.claude/skills/
4. 移行前後の比較
| 項目 | 移行前(Windows native) | 移行後(WSL2 Ubuntu) |
|---|---|---|
| ランタイム | Bun(同梱版) | Node.js v22 |
| 安定性 | ❌ クラッシュ頻発 | ✅ 安定動作 |
| ファイルアクセス | ネイティブ |
/mnt/c/ 経由(やや遅い) |
| コマンド実行 | PowerShell/cmd | bash |
| Git/GitHub | Windows Git | Linux Git + gh CLI |
| 設定ファイル | C:\Users\...\.claude\ |
/home/.../.claude/(別管理) |
5. よくあるトラブルと対処法(FAQ)
Q: sudo でパスワードを求められるが入力できない
Claude Code内からsudoコマンドを実行するとパスワード入力ができない場合があります。WSLのターミナルで直接実行してください。
Q: WSL2内からWindowsのリポジトリにgit操作するとエラーが出る
dubious ownership エラーが出る場合は、safe.directory に対象パスを追加してください。
git config --global --add safe.directory '/mnt/c/path/to/repo'
Q: WSL側の設定が反映されない
Claude Codeを再起動してください。設定ファイルは起動時に読み込まれます。
Q: PowerShellスクリプト(.ps1)がWSL内で動かない
WSL2はLinux環境のため、PowerShellコマンドは使用できません。bashスクリプトに書き換えるか、当該機能を無効化してください。
Q: Windows native版(claude.exe)の修正はいつ?
2026年2月20日時点では修正時期は未定です。GitHub Issues(#13251)で進捗を追跡できます。
まとめ
Claude Code v2.1.47でWindows arm64環境がクラッシュする問題は、Bunランタイムのメモリアライメントバグが原因です。WSL2(Ubuntu)上でNode.js版のClaude Codeを実行することで、即座に解決できます。
移行手順の要点
-
WSL2 + Ubuntuのインストール:
wsl --install -d Ubuntu - Node.jsのインストール: nodesource経由でv22.xをインストール
-
Claude Codeのインストール:
npm install -g @anthropic-ai/claude-code - 環境構築: Git設定、GitHub CLI認証、設定ファイル移行
移行時の注意点
- WSL2は日本語・スペースを含まないパスから起動する
- Windows側の設定ファイルはWSL側に手動で移行が必要
- PowerShell依存の設定はbash版に書き換える
-
/mnt/c/経由のファイルアクセスはパフォーマンスが低下する
Windows arm64でClaude Codeが動かなくなった方は、WSL2移行を検討してください。移行作業自体は30分〜1時間程度で完了します。