セッションは「1回分の打ち合わせ」
Claude Codeを触っていると「セッション」という言葉があちこちに出てきます。ざっくり言うと、ひとつながりの会話のかたまりのことです。
イメージしやすいのは、打ち合わせです。会議室に入って、その日話したい内容をひととおり相談して、終わったら部屋を出る。次にまた別の相談で会議室に入ると、それは別の打ち合わせですよね。Claude Codeのセッションもこれと同じで、「今回の相談」の単位だと思ってください。
大事なのは、セッションごとに記憶(コンテキストウィンドウ)が独立していることです。打ち合わせAで話した内容は、打ち合わせBの参加者は知りません。同じように、あるセッションでやりとりした内容は、別のセッションのClaudeには見えていません。
ディレクトリに紐づいている
もうひとつ知っておきたいのが、セッションは特定のディレクトリに紐づくという点です。
つまり「このプロジェクトフォルダでの会話」と「別のプロジェクトフォルダでの会話」は、それぞれ別々に管理されます。会議室が部屋ごとに分かれているようなものですね。プロジェクトAの相談履歴が、プロジェクトBを開いたときに混ざってくることはありません。
これは地味ですが便利で、複数のリポジトリを行き来していても、それぞれの文脈がごちゃまぜにならずに済みます。
前の会話を呼び戻す
セッションは終わったら消えてしまう、というものではありません。過去のセッションは呼び戻せます。
claude -c を使うと、直前のセッションを再開できます。昨日の続きから作業したいとき、いちいち「このプロジェクトはこういう構成で〜」と説明し直さなくていいので、これはかなり助かります。
もう少し選びたいときは /resume です。過去のセッションの一覧から選んで戻れるので、「たしか一昨日あたりにこの話をしたはず」という場合に使えます。
/clear で仕切り直す
会話が長くなってくると、Claudeが前の話題を引きずってしまうことがあります。Reactの話をしていたのに急にPythonのスクリプトを書かせようとしたら、なんだか前の文脈に引っ張られた回答が返ってくる、みたいな状況ですね。
そういうときは /clear です。新しいセッションを始める、つまり新しい会議室に入り直すイメージです。頭がまっさらな状態から話を始められます。
「でも前の会話、消えちゃうんじゃ…」と心配になるかもしれませんが、大丈夫です。/clear したあとでも、以前のセッションは /resume から呼び戻せます。捨てているのではなく、いったん置いてきているだけです。
履歴ごとコピーする --fork-session
少し応用的ですが、--fork-session というオプションもあります。これは、それまでの会話履歴を引き継いだまま、セッションを複製するものです。
料理でたとえるなら、途中まで作った鍋を2つに取り分けて、片方はカレーに、もう片方はシチューにする、みたいな感じです。「ここまでの前提は共有したまま、別の方向を試したい」というときに、元のセッションを壊さずに分岐できます。
使い分けのざっくり早見表
| やりたいこと | 使うもの |
|---|---|
| 直前の会話の続きから始めたい | claude -c |
| 過去のセッションを一覧から選びたい | /resume |
| 話題を切り替えて仕切り直したい | /clear |
| 今までの履歴を引き継いで別方向を試したい | --fork-session |
最初のうちに意識したいこと
初心者のうちにありがちなのが、ひとつのセッションで延々と別々の作業を続けてしまうことです。バグ修正の相談も、新機能の設計も、READMEの手直しも全部同じ会話に詰め込むと、会話が長くなって話がぼやけてきます。
作業のまとまりごとにセッションを区切る、と考えておくとちょうどいいです。区切ったからといって過去が失われるわけではないので、気軽に /clear して構いません。
このページは役に立ちましたか?