2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeのセッションが消えた!? フォルダ名の変更が招く落とし穴、原因と2つの対処法

2
Last updated at Posted at 2026-09-18

はじめに

VSCodeの拡張機能として使っているClaude Codeで作業していたフォルダの名前を変更したところ、それまでのセッション(会話履歴)が一覧から見えなくなってしまいました。

「せっかくのやり取りが消えた…」と焦りましたが、調べてみると データが消えたわけではなく、Claude Code側の「紐付け」が切れていただけ でした。

この記事では、なぜこのようなことが起きるのか、そしてどう対処すればよいのかを、Claude Codeを使い始めたばかりの方にもわかるように解説します。

対象読者

  • Claude Codeを使い始めたばかりの方
  • VSCodeの拡張機能でClaude Codeを使い始めたばかりの方
  • フォルダ名を変更したら、セッションが見当たらなくなって困っている方
  • Claude Codeがどうやってセッションを管理しているのか知りたい方

前提知識: セッションってなに?

Claude Codeで会話をすると、その内容は自動でファイルに保存されます。
この保存された会話のまとまりを「セッション」と呼びます。

セッションは、あとで「続きから再開する」ときに使われます。
VSCodeやターミナルでClaude Codeを開くと、そのフォルダで過去にやり取りした会話が一覧で出てきますよね。
あれは、この仕組みのおかげです。

Claude Codeは、セッションが「どのフォルダのものか」を、何を見て判断しているのか。
ここが今回の話の肝になります。

何が起きたのか

以下のように、フォルダの名前だけを変更しました。

  • 旧: ./old-repo
  • 新: ./new-repo

フォルダの中身(ソースコードやgitの履歴)はまったく同じです。
変えたのは、フォルダの名前だけです。

ところが、新しい名前のフォルダでClaude Codeを開くと、これまでのセッションが一覧に出てこなくなりました。

原因: セッションは「フォルダの住所」で管理されている

Claude Codeは、セッションを保存するとき「これはこのフォルダの会話です」というラベルを貼っています。
このラベルの正体が、フォルダのパス、つまり住所のようなものです。

つまりClaude Codeは、フォルダの「中身」を見ているのではなく、「パスの文字列」だけを見て「これは前と同じフォルダだ」「これは初めて見るフォルダだ」を判断しています。

これは、荷物の中身が同じでも、宛名ラベルを貼り替えたら「別の荷物」として扱われてしまうのと似ています。

そのため、フォルダの中身が一字一句同じでも、フォルダ名(パス)を変えた瞬間に、Claude Codeにとっては「まったく新しいフォルダ」に見えてしまうのです。

結果として起きること

Claude Codeのセッションは、実際には次の場所に保存されています。

C:\Users\<ユーザー名>\.claude\projects\

このフォルダの中に、作業フォルダごとの名前が変換されたサブフォルダが作られ、その中に .jsonl ファイルとしてセッションが保存されています。

  • 旧パス(./old-repo)用のセッション履歴は、C:\Users\<ユーザー名>\.claude\projects\ の中の、./old-repo に対応するサブフォルダに、そのまま残っている(削除されていない)
  • 新パス(./new-repo)で開いたワークスペースの一覧には、旧パスのサブフォルダにある履歴が表示されない(別のサブフォルダとして扱われるため)
  • 見た目上は「消えた」ように見えるが、実際には上記のフォルダの中にちゃんと存在している

⚠️ 注意: セッションは永久には残りません
Claude Codeには、古くなったファイルを自動で削除する仕組みがあります。.jsonl ファイルは既定で30日を過ぎると削除されます。この期間は settings.jsoncleanupPeriodDays で変更できます(最小値は1日)。
フォルダ名を変更してから時間が経っている場合は、そもそもセッションが削除済みの可能性があります。まずはファイルが残っているかを確認してから、次の解決法に進んでください。

解決法

状況に合わせて、次の2つの方法があります。

方法1: 一時的に旧パスへ戻して確認する

一番かんたんで確実な方法です。フォルダ名を ./old-repo に戻せば、Claude Code側は「前から知っているフォルダだ」と認識し、通常通りセッション一覧に表示されます。

過去のやり取りを手っ取り早く対話として再開したい場合は、この方法をおすすめします。

方法2: 新しいフォルダ側にセッションを引き継ぐ

旧パス(./old-repo)に対応するサブフォルダの中にある .jsonl ファイルを、新パス(./new-repo)に対応するサブフォルダへコピーする方法です。

Claude Code拡張機能は、開いているフォルダのパスに対応するサブフォルダの中にある .jsonl ファイルを探して一覧表示していると考えられるため、コピーすれば新しいパス側のセッション一覧に表示されます。

コピー先のサブフォルダを先に作る

前述の通り、Claude Codeのセッションは C:\Users\<ユーザー名>\.claude\projects\ の配下に、フォルダごとのサブフォルダが作られて保存されます。つまり、新パスに対応するサブフォルダも、リネーム後のフォルダでセッションを1つ開始してはじめて作られます。

まずはセッションを1つ開始してコピー先を用意してから、コピー作業に進んでください。

.jsonl と同じ名前のフォルダも一緒にコピーする

サブフォルダを開くと、.jsonl ファイルと並んで、同じ名前のフォルダが置かれていることがあります。

projects/<パス変換名>/
├── 3ba55ccb-....jsonl   ← セッション本体
└── 3ba55ccb-.../        ← 同じ名前の付属フォルダ

これは別のセッションではなく、そのセッションの付属データが入ったフォルダです。中身は次の2種類です。

  • subagents/ … サブエージェント(セッションの中から起動された別のエージェント)の会話ログです。1体につき agent-xxxx.jsonlagent-xxxx.meta.json の2つのファイルが作られます
  • tool-results/ … サイズの大きいツールの実行結果です。本体の .jsonl に直接書き込むとファイルが膨らんでしまうため、別ファイルに退避されています

この付属フォルダは、すべてのセッションに作られるわけではありません。サブエージェントを一度も起動せず、大きなツール出力も発生しなかったセッションでは作られず、.jsonl ファイルだけになります。

サブエージェントを使ったセッションを引き継ぎたい場合、.jsonl ファイルだけをコピーすると、サブエージェントの会話ログが抜け落ちてしまいます。同じ名前のフォルダがある場合は、必ず一緒にコピーしてください。

なお、同じ場所に memory という名前のフォルダが置かれていることがありますが、これはセッションとは別のものなので、コピーの対象ではありません。

リネームしたフォルダで対話として再開したい場合は、この方法をおすすめします。

⚠️ 注意
この方法は拡張機能の内部の仕組みに基づいた推測であり、公式にサポートされた操作ではありません。実行する前に、必ず元の .jsonl ファイルのバックアップを取っておきましょう。

まとめ

  • Claude Codeのセッションは、フォルダのパス文字列を鍵にして保存されている
  • フォルダの中身が同じでも、フォルダ名(パス)を変えると別のワークスペース扱いになり、本来確認したいセッションが表示されなくなる
  • セッションデータそのものは消えておらず、旧パスに対応するサブフォルダ内に .jsonl ファイルとして残っている
  • ただし、.jsonl ファイルは既定で30日を過ぎると自動削除されるため、永久に残るわけではない
  • 対処法は次の2つ
    1. 旧パスに戻す(対話を再開したい場合)
    2. 新パスに対応するサブフォルダに .jsonl をコピーする(リネーム前の対話をリネーム後も続けたい場合)

おわりに

フォルダ名の変更は日常的によくある作業ですが、Claude Codeが「パスの文字列」でセッションを管理していることを知らないと、今回のように「履歴が消えた」と勘違いしてしまいます。

これからフォルダ構成を見直す予定がある方は、事前にこの挙動を知っておくと、慌てずに対応できるはずです。

参考文献

2
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?