はじめに
Claude Codeは同じセッションで作業を続けているとセッションが反応しなくなることがあります。
それまで積み上げてきた長い会話のコンテキスト(読み込んだファイル、決定事項、進行中のタスク等)を引き出すことができず、新しいセッションを始めてもゼロからやり直しになりそうに思えます。
サマリを出力させて新しいセッションで再開するのが普通だと思いますが、それもできない場合は、Claude Code はローカルに会話履歴をすべて .jsonl ファイルとして保存しているため、新しいセッションにそのファイルを読み込ませることで、ほぼ無傷で作業を引き継ぐことができます。
TL;DR
-
C:\Users\<ユーザー名>\.claude\projects\<プロジェクトパスをエンコードしたフォルダ>\を開く - 直近更新の
<session-id>.jsonlを見つける - 新しい Claude Code セッションを起動
- 新セッションに「このファイル
<パス>を読んで、続きから作業して」と指示する
これで、前セッションの文脈を読み込んだ Claude が作業を継続してくれます。
1. 会話履歴ファイルの保存場所
Claude Code は、各セッションのやり取りを 1 ファイル 1 セッションの形でローカルに保存しています。
Windows
C:\Users\<ユーザー名>\.claude\projects\<プロジェクトパスをエンコードしたフォルダ名>\<session-id>.jsonl
macOS / Linux
~/.claude/projects/<プロジェクトパスをエンコードしたフォルダ名>/<session-id>.jsonl
<プロジェクトパスをエンコードしたフォルダ名> は、作業ディレクトリのパスを - 区切りに変換したような名前になっています。
たとえば作業ディレクトリが C:\Users\PC252403\Documents\MyObsidian\Vault01 の場合、
c--Users-UserName1-Documents-MyWork-Projetc01
のようなフォルダが作成されます。
中を覗くと、<UUID>.jsonl というファイルが複数並んでいます。これがそれぞれセッションの履歴です。
2. 該当セッションのファイルを特定する
エクスプローラでフォルダを開き、「更新日時」でソートすれば、いま止まってしまっているセッションのファイルがすぐ見つかります。

3. 新セッションで履歴ファイルを読み込ませる
別のターミナルやウィンドウで、同じ作業ディレクトリで claude を起動します。
そして、新セッションの最初のプロンプトに次のように書きます。
直前のセッションが API 500 エラーで応答しなくなりました。
以下の会話履歴ファイルを読み込んで、前セッションの文脈を把握した上で続きから作業してください。
C:\Users\<ユーザー名>\.claude\projects\<フォルダ名>\<session-id>.jsonl
特に把握しておいてほしい点:
- 進行中のタスクと、どこまで完了しているか
- 直前に編集していたファイルと、その変更目的
- ユーザー(私)と合意済みの方針
Claude Code は .jsonl を Read ツールで読み込み、JSON Lines として中身を解釈できます。会話の流れ、ツール呼び出し、編集内容まで再構成されるため、新セッションでも前と同じ前提で会話を再開できます。
4. 補足 claude --resume / --continue
サーバー側(Anthropic 側)の問題で使えない場合は、以下のコマンドで直接続きから再開できます。
claude --resume
セッション一覧が表示されるので、問題が起きたセッションを選択すれば、同一セッションとして再開できます。これが一番ラクな方法です。
5. なぜこの方法が成り立つのか
Claude Code のセッションは、内部的には「過去のメッセージ列 + システムプロンプト」を毎ターン API に投げて応答を受け取るという構造になっています。
セッションの「状態」は、サーバー側ではなく .jsonl ファイルそのものです。
つまり、ファイルさえ手元にあれば、
- 別マシン
- 別ユーザー
- 別 OS
であっても、その内容を Claude に読ませることで「あのセッションの続き」を再構築できます。
これは Claude Code が「ステートレスな API + ローカルログ」というアーキテクチャを取っている副産物です。
おわりに
私の場合「API 500 でセッションが応答しない!」となって、この方法で回避しました。最悪こういう方法もあるよという情報の共有でした。