1675 文字
8 分
【Claude Code】VSCodeのターミナルで重い処理中に落ちる・落ちた会話に戻れない──防止はtmux、復旧は claude --name で解決
この記事について

Claude(Anthropic)との共同編集により作成されました。

要約
  • VSCode のターミナルで Claude Code を動かしていると、重い処理を回している最中にクラッシュすることが多発した
  • 防止側は、そもそも VSCode のターミナルで動かさないことにした。今は iTerm で tmux を起動し、その中で作業している。VSCode のターミナルを使っていた理由は「複数の会話を1画面に載せたくない」だけだったので、tmux の新規ウィンドウ(Ctrl-b c)と移動(Ctrl-b n / Ctrl-b p)の3操作でそのまま再現できた
  • 復旧側は、公式アプリからローカル起動のセッションを拾おうとしてうまくいかなかった。セッションに名前を付けておけば、ローカルから claude --resume <名前> で戻れると気づいてからは困っていない
  • 名前は claude --name XXX-日付 の形にしている。同じ名前が大量に並ばず、復旧するときに迷わない。claude --resume XXX と途中まで打てば検索状態でピッカーが開く

VSCode のターミナルで Claude Code を動かしていて、重い処理を回している最中に落ちる。落ちたあとに、さっきの会話にどうやって戻ればいいのか分からない。

この2つに繰り返しやられたので、防止と復旧の2方向で対策した。どちらも新しいツールを入れる話ではなく、覚える操作も数個で済んだ。


症状:重い処理中に VSCode ターミナルごと落ちる#

Claude Code に長いビルドやテスト、大きめのデータ処理を任せていると、VSCode のターミナルで動かしている Claude Code が落ちることが多発した。原因の切り分けはしていない。ただ、落ちるのは決まって重い処理を回しているときで、軽い作業では起きなかった。

落ちると会話が途中で切れる。処理の結果も見えないし、直前まで積み上げていた文脈も、どのセッションだったのかも分からなくなる。これが一番痛い。


防止:VSCode のターミナルで動かさない#

防止側で一番効いたのは、VSCode のターミナルで Claude Code を動かすのをやめたことだ。今は iTerm で tmux を起動し、その中で Claude Code を立てている。

そもそもなぜ VSCode のターミナルで動かしていたかというと、理由はひとつだけだった。複数の会話をひとつの画面に載せたくない。プロジェクトごと、作業ごとに会話を分けて、タブで切り替えたかった。VSCode のターミナルはそれがタブで自然にできる。

それだけなら tmux で足りる。使っているのは3操作だけだ。

操作何が起きるか
Ctrl-bc新しいウィンドウを作る(新しい会話用)
Ctrl-bn次のウィンドウへ移動
Ctrl-bp前のウィンドウへ移動

Ctrl-b が tmux のプレフィックスキーで、これを押してから次のキーを押す。ウィンドウひとつにつき Claude Code をひとつ立てておけば、VSCode のタブでやっていたことがそのまま再現できる。ペイン分割やセッション管理の機能もあるが、会話を分けるだけなら使わなくていい。

iTerm + tmux に移してからは、重い処理でクラッシュすることがなくなった。VSCode のターミナル自体が悪いのか、その上で動く Claude Code との相性なのかは分かっていないが、自分の環境ではこれで止まった。


復旧:セッションに名前を付けておく#

それでも落ちることはあるし、自分でターミナルを閉じてしまうこともある。ここで困ったのが復旧だ。

Claude Code は会話をローカルの transcript に保存し続けていて、claude --resume で戻れる1。公式アプリ(デスクトップ版)からも /resume で CLI のセッションを拾えることになっている2

ただ、自分の環境では、ローカルのターミナルから起動したセッションをアプリ側でアクティブにしても復帰できなかった。セッションをテレポートする機能も試したが、会話が引き継がれなかった。なぜ失敗するのかは分かっていない。ドキュメント上はできるはずなので、自分のやり方か環境の問題かもしれない。

いろいろ試して落ち着いたのが、セッションに名前を付けておいて、ローカルから名前で戻るというやり方だ。

Terminal window
# 起動時に名前を付ける(-n でも同じ)
claude --name blog-20260921
# 落ちたら、同じプロジェクトのディレクトリで
claude --resume blog-20260921

名前は XXX-日付 の形にしている。名前が完全に一致すればそのまま復帰する。途中まで(blog だけ)打つと、その文字列で検索した状態のピッカーが開くので、そこから選べる1

日付を入れているのは、同じ名前のセッションを大量に作らないためだ。blog という名前で毎日起動していると、復旧するときに blog が並ぶ。ピッカーは最終活動が新しい順に並ぶので、一応どれが直近かは分かる。分かるが、日付が付いていれば迷わない。

起動時に名前を付け忘れたら、会話の途中で /rename blog-20260921 でも付けられる1。名前で戻る話は以前の記事/clear の前に /rename する小技として触れたが、クラッシュ対策としても同じ手が効く。


まとめ#

  • 防止: VSCode のターミナルで動かさない。iTerm で tmux を起動して、その中で Claude Code を立てる。Ctrl-b c / Ctrl-b n / Ctrl-b p の3つだけ覚えれば、会話をウィンドウで分ける運用は再現できる
  • 復旧: 起動時に claude --name XXX-日付 を付けておく。落ちたら claude --resume XXX-日付。名前の前半だけ打てば検索状態でピッカーが開く

公式アプリからの復帰は自分の環境ではうまくいかなかったが、この2つで今は快適になった。起動コマンドが少し長くなるだけで、落ちたときの損失がほぼゼロになる。


参考文献#

  1. Manage sessions(Claude Code 公式ドキュメント) https://code.claude.com/docs/en/sessions
  2. Claude Code desktop app(Claude Code 公式ドキュメント) https://code.claude.com/docs/en/desktop
【Claude Code】VSCodeのターミナルで重い処理中に落ちる・落ちた会話に戻れない──防止はtmux、復旧は claude --name で解決
https://yurudeep.com/posts/aicoding/2026/20260921/
作者
ひらノルム
公開日
2026-09-21
ライセンス
CC BY-NC-SA 4.0