Claude Media
Claude Codeのresumeで入力できない問題とWSL2の対処法

Claude Codeのresumeで入力できない問題とWSL2の対処法

claude --resumeの起動画面でキー入力が効かなくなる不具合の原因とv2.1.206での修正、WSL2を含む発生環境と回避策をまとめます。

claude --resumeの起動画面がキー入力を受け付けなくなる症状

claude --resume(またはclaude -r)を実行すると、過去のセッション一覧を表示する画面は出るのに、矢印キーで選択できず、フィルタ文字列を打っても何も入力されず、画面が案内している?のショートカット一覧すら開かない — こうした症状が2026年7月にGitHub issue #75496として報告されました。

報告者の環境はWSL2(Ubuntu 24.04)で、bashとfishの両方、tmux経由のptyと通常のWSL2ターミナルの両方で再現したとされています。唯一動く手段は、いったん終了して素のclaudeを起動し、REPL内で/resumeと打つことでした。この経路が開くピッカーは矢印キーもフィルタ入力も正常に反応する、コールドスタート時の画面とは構造の異なる別のUIだったと報告されています。

WSL2だけでなくmacOS・Linux・Windowsでも起きていた

issueのコメント欄には、同じ症状の報告がWSL2以外の環境からも相次ぎました。報告があったのはmacOS 26.5.1、Darwin 25.5.0のApple Silicon機、Ubuntu(カーネル6.8)のGNOME Terminal、Windows 11のPowerShellです。issueを一本化したコメントには、重複として扱われた関連issueとして#75497、#75513、#75521、#75560、#75579の5件が挙げられており、報告の規模がそれなりに大きかったことがうかがえます。最終的にこのissue自体も#75521への重複として整理され、報告はそちらに一本化されてクローズされました。

つまりこの不具合は、WSL2固有の端末統合やTTY周りの問題ではなく、claude --resumeのコールドスタート経路そのものに起因するものでした。

issueの調査が示す原因はキー入力ではなくフォーカス側

ある報告者は、擬似端末(pty)を使ったスクリプトでキー入力の生バイト列を直接観測しています。stty -aの出力はフリーズ中の画面と正常に動く/resumeピッカーで完全に一致しており、rawモード自体は正しく有効になっていました。それでもキーを押すたびに、文字セットリセットとマウストラッキングの再送信を含む約40バイトの決まったレスポンスが返るだけで、画面には何の変化もなかったとされています。

この観測から、その報告者は「stdinの配線やrawモードのネゴシエーションは壊れていない。レンダリングループも入力で目を覚ましている。フォーカスを持っているコンポーネントに、その状態でのキーバインドが単に存在しないだけだ」という見立てを示しています。同じ報告者の環境では、claude agentsから同じ画面を開くと15種類以上のシナリオで入力が正常に効きました。一方claude --resume(セッションID指定なし)は6回中6回とも入力が効かなかったとも述べています。ただし別の報告者からはclaude agents側でも同じフリーズが起きたという声があり、症状の出方は環境や経路によって揺れがあったようです。

コメントの中には、社内のA/Bテスト用とみられるフラグtengu_fleet_past_sessionsが関係しているのではないかという指摘もありました。これもissue投稿者個人の推測であり、Anthropicがこのフラグを原因として公式に説明した記述はありません。

同じ報告者は、この不具合によって過去のセッションデータそのものが壊れているわけではないことも確認しています。保存済みのトランスクリプトファイルはすべて正常にパースでき、破損は見つからなかったと述べており、入力が効かないのはあくまで画面側の問題で、セッション履歴自体は失われていないとみられます。

今すぐ試せる回避策

修正版へアップデートする前に症状に遭遇した場合、issueのコメント欄では次の回避策が有効だったと報告されています。重複整理を行った投稿では、アップデートなしでもclaudeを終了して起動し直すだけで直るケースが多く、直らない場合はもう一度再起動すれば解消することが多いと説明されていました。同じ投稿ではclaude --continue、claude --resume <session-id>、REPL内の/resumeに加えて、検索語を空白1文字にしたclaude -r " "も動く手段として挙げられています。

回避策使いどころ
claudeを一度終了し、再度起動する使いどころまず試す方法。これだけで直るケースが多いと報告されている
claude --continue使いどころ直前のセッションへそのまま戻りたいとき
claude --resume <session-id>使いどころ再開したいセッションのIDが分かっているとき
素のclaudeを起動し、REPL内で/resumeと打つ使いどころセッションを一覧から選びたいとき。コールドスタート画面を経由しない
claude --resume --settings '{"tui":"default"}'使いどころ上記でも直らないとき

最後の--settingsによるオプションは、コールドスタート用の画面を避ける回避策です。REPL内/resumeと同じ系統のクラシックなピッカーを強制でき、issue内で有効性が確認されています。

# 直前のセッションへそのまま戻る
claude --continue
 
# セッションIDを指定して再開する
claude --resume <session-id>
 
# クラシックなピッカーを強制する
claude --resume --settings '{"tui":"default"}'
 
# 現在のバージョンを確認する
claude --version

v2.1.206で修正済み — アップデートで解決する

公式changelogを確認すると、この不具合は報告からそれほど時間を空けずに修正されています。claude --resumeと--continueが起動時にキー入力へ反応しない症状の修正は、v2.1.206のリリースノートに明記されています。同じv2.1.206では、より限定的な症状も別途修正されました。Windowsでclaude --resumeを単独実行した際、セットアップ用のプロンプトが先に出た場合に限ってagent view側の入力が無視される症状です。

issueが報告されたときのバージョンはv2.1.204でしたから、2バージョン後には公式の修正が入っていたことになります。この修正が入ったあとも、changelogにはv2.1.283までさらにバージョンアップが積み重ねられており、この修正が後戻りしたという記載は見当たりません。古いバージョンのままアップデートしていない場合は、claude updateでv2.1.206以降へ上げれば解消します。

claude update

Claude Codeの/resumeまわりでは、この不具合以外にも別の時期に別の原因で症状が起きています。索引ファイルの更新停止やピッカーの表示件数に起因する不具合はClaude Codeの/resumeが壊れていた3つの原因(v2.1.31以降)に、また別のリグレッションはClaude Codeの/resumeが全プロジェクトを表示した不具合とv2.1.108の修正にまとめています。同じ/resumeという言葉で検索しても、時期によって原因も修正バージョンも異なる点には注意が必要です。

--resumeの起動画面はagent viewと同じ系統だった

claude --resumeのコールドスタート画面と、claude agentsで開く画面は、Anthropicが「agent view」と呼ぶ機能に属しています。agent viewはバックグラウンドで動く複数のセッションを一覧・操作するための画面で、v2.1.139でリサーチプレビューとして導入されました。公式ドキュメントでは今も「research preview」の位置づけで、インターフェースやキーボードショートカットは今後も変わりうると明記されています。なお、agent viewの中でセッション一覧を呼び出すための素の/resume(/continue)は、v2.1.212以降でないと使えません。これは今回のコールドスタート不具合そのものとは別の、機能追加時期に関する要件です。

今回の不具合が起きていた当時、claude --resumeのコールドスタートはagent viewと同じ系統の一覧画面を経由していたとみられます。現在の公式リファレンスでは、--resumeをID指定なしで実行すると対話的なピッカーが開くとされています。バックグラウンドセッションはbgのマークつきで一覧に混在すると説明されており、REPL内の/resumeと同じ系統のピッカーへ統合された記述です。当時issueで指摘されていた「2種類の異なるUIが混在している」という状態は解消されているようです。

claude agentsを起動した際に入力が効かない場合は、まずclaude updateで最新版にします。それでも解決しないときは、設定でagent view自体を無効化する方法もあります。disableAgentView設定をtrueにするか、環境変数CLAUDE_CODE_DISABLE_AGENT_VIEWを設定すると、バックグラウンドエージェントとagent viewをまとめて無効化できます。組織の管理者はmanaged settingsを通じてこれを強制することも可能です。

--continueや--resumeが既存の会話をどう扱うか、/forkとの違いも含めた再開の仕組み自体はClaude Codeのresumeとforkの違い — 再開か複製かにまとめています。

WSL2固有の注意点

WSL2でClaude Codeを使っていて今回の症状に遭遇した場合は、まず自分の環境がWSL1になっていないかを確認します。今回の入力フリーズはWSL2固有の不具合ではなく、claude --resumeのコールドスタート経路そのものに起因するものでした。公式ドキュメントでは、WSL 2はLinuxツールチェーンやサンドボックス化されたコマンド実行に対応するオプションとして明記されている一方、WSL 1は非対応です。wsl --list --verboseでバージョンを確認し、WSL1のまま使っている場合はWSL2への移行が別途必要になります。切り分けを先に済ませておくと、今回の不具合の回避策と、WSL1の非対応に起因する問題を混同せずに済みます。

まとめ

claude --resumeのコールドスタート画面でキー入力が一切効かなくなる不具合は、WSL2固有ではなく、macOS・Linux・Windowsを含む複数環境で報告されていました。原因はissue内の調査によれば、stdinの配線ではなく、当時のコールドスタート画面を担っていたコンポーネントにキーバインドが結びついていなかったことにあるとみられます。アップデート前に遭遇した場合は、claudeの再起動やclaude --continue、REPL内/resumeなどの回避策で作業を再開できます。恒久的な解決はclaude updateでv2.1.206以降にアップデートすることです。この修正はその後のバージョンでも維持されています。

この記事を共有:XはてブLinkedIn