/clearの役割
/clearは現在の会話を終了し、空のコンテキストウィンドウで新しい会話を開始します。Claude Codeの用語では、新しいセッションを開始することを意味します。前のセッションは削除されません。Anthropicのセッションドキュメントには、「Claude Codeは前のセッションを保存します。/resumeで再開してください」と記載されています。
このコマンドには/resetと/newという2つのエイリアスがあり、オプションで名前を付けることができます。コマンドリファレンスでは、名前の役割について次のように説明しています。「名前を渡すと、/resumeピッカーで前の会話にラベルを付けることができます。」
同じリファレンスでは、フレッシュな開始を望まない場合の代替案も示されています。「同じ会話を続けながらコンテキストを解放するには、代わりに /compact を使用してください。」
/clearを実行しても残るもの
プロジェクトの指示とメモリ
Claude Codeには2つのメモリシステムがあります。ユーザーが記述するCLAUDE.mdファイルと、Claudeが作業中に書き込む自動メモリ(auto memory)です。Anthropicのメモリドキュメントには、「両方ともすべての会話の開始時にロードされる」とあります。/clearの後に始まる会話は新しい会話であるため、両方が再度ロードされます。
これが実務における「プロジェクトのメモリを保持する」という意味です。プロジェクトルートのCLAUDE.mdにある規約、ルール、そしてClaudeが自動メモリに保存した内容はすべて、新しい会話のコンテキストに戻ります。リポジトリでCLAUDE.mdの代わりにAGENTS.mdを使用している場合も同様です。
クリアした会話
古い会話はまだマシン上に残っています。Anthropicのインタラクティブモードのドキュメントには、「前のセッションの会話は保存され、再開できる」とあります。戻る方法は2つあります。
/resume: セッションピッカーを開きます。/clear時に名前を指定していれば、その名前で前の会話が表示されます。- 巻き戻し(rewind)メニュー: 同じClaude Codeプロセス内にいる場合に使用できます。Anthropicのチェックポイントドキュメントによると、メニューの最上部に追加のエントリが表示され、前のセッションIDのラベルが付いています。これを選択すると、
/clear実行前にアクティブだった会話が再開されます。「このエントリは、Claude Codeを終了するか、別のセッションを再開するまで利用可能です。」
Claude Codeのセッション履歴を見つけて再開するためのガイドで、これらのトランスクリプトがどこに保存されているかを詳しく解説しています。
セッション名(特定の場合)
名前の扱いには特定のルールがあります。Anthropicのセッションドキュメントによると、「引数なしの場合、新しいセッションは --name または /rename で設定した名前を引き継ぎますが、AIが生成したセッションタイトルは引き継ぎません。」 もし /clear release-prep のように名前を渡した場合、その名前は終了するセッションに割り当てられ、新しいセッションは名前なしで開始されます。
プロンプト履歴
クリア前に力したプロンプトは引き続き利用可能です。Anthropicのインタラクティブモードのドキュメントでは、プロンプトの呼び出し動作について次のように説明しています。「/clearを実行すると新しいセッションが始まります。呼び出し(recall)では、まず新しいセッションのプロンプトがリストされ、その後に以前のセッションのプロンプトが続きます。」 前のタスクを開始したプロンプトを再利用したい場合は、上矢印キーを押して遡ることができます。
これは利便性のための機能であり、コンテキストではありません。呼び出したプロンプトは、再度送信するまで入力ボックスに留まるだけです。
引き継がれないもの
会話そのもの
会話の中にのみ存在していたものはすべて、新しいコンテキストからは外れます。説明した内容、Claudeが読み取ったファイル、試したアプローチ、そして書き留めなかった決定事項などです。新しい会話は、古い議論からではなく、プロジェクトファイルとメモリから開始されます。
これがこのコマンドの目的です。Anthropicのコンテキストウィンドウガイドでは、なぜこれが役立つのかを説明しています。「古い会話は次に必要なファイルを圧迫し、メッセージごとにトークンコストを発生させます。」
セッションカウンター
Anthropicのコストドキュメントによると、/clearで新しいセッションが開始されると、セッションの合計コストはリセットされます。v2.1.211より前は、Claude Codeプロセスの存続期間中、/clearをまたいで累積され続けていました。
スタートアップフックの再実行
フックを使用している場合、/clearはセッションの開始としてカウントされます。Anthropicのフックリファレンスでは、SessionStartフックが一致するソースの一つとして、startup、resume、compact、forkと並んでclearを挙げています。起動時にコンテキストを追加するフックは、クリア後にも再度追加を行うことができます。同リファレンスには一つの例外事項が記されています。「バックグラウンドフックがまだ実行中に /clear を実行したり別の会話に切り替えたりした場合、それらが返す内容はセッションに適用されません。」
/clear、/compact、または新しいセッション
これら3つはすべて「空きを作る」ためのものなので混同されやすいですが、保持するものは大きく異なります。
/compact は会話を要約として保持する
/compactは同じ会話に留まり、その履歴を要約に置き換えます。Anthropicのコマンドリファレンスでは、「これまでの会話を要約することでコンテキストを解放する」方法と説明されています。実行後、Claude CodeはプロジェクトルートのCLAUDE.md、スコープ外のルール、ディスクからの自動メモリを再注入し、最近変更された最大5つのファイルを再読み込みします。
同じタスクを継続しており、Claudeに文脈を維持してほしい場合は /compact を選択してください。/compact keep the API changes and the test commands(APIの変更とテストコマンドを保持してコンパクト化して)のように、フォーカス指示を与えることで制御も可能です。自動コンパクトを必要なものに向けるためのガイドで、要約の形成について詳しく説明しています。
/clear は会話ではなくプロジェクトを保持する
次のタスクが無関係な場合は /clear を選択してください。Anthropicのベストプラクティスには明快に記されています。「無関係なタスクの間には /clear を行いましょう。コストはかかりませんし、次のタスクで前の履歴の料金を払い続ける必要がなくなります。」
コストに関する注意点は、長いセッションにおいて重要です。Anthropicは、長いセッションでの /compact は「要約するために会話全体を読み取るため、それ自体が大きなリクエストになる」と指摘しています。/clear は何も要約しません。次の会話は起動時にロードされる内容から始まります。
Claudeを終了して再起動する場合
新しく claude セッションを開始することでも、プロジェクトメモリを持った空の会話が得られます。実用上の違いは「戻り方」です。/clear の後は、同じプロセス内の巻き戻しメニューから前の会話に戻れますが、終了した後は /resume または claude --resume で探すことになります。長い休止の後に古いセッションに戻る場合、Claude Codeの古いセッション再開前の警告に関するガイドでそのコストについて解説しています。
似ている他のコマンド
/rewindはコードと会話を以前のチェックポイントまで戻すか、会話の一部を要約します。Claude Codeセッションの巻き戻しガイドで、どの編集が元に戻るかを解説しています。/branchは現在の会話のブランチを作成し、オリジナルを失うことなく別の方向性を試すことができます。
/clearを使うべきタイミング
Anthropicのベストプラクティスでは、2つの状況を挙げています。
無関係なタスクの間。 ガイドには「タスク間で /clear を行う価値は依然としてあります。なぜなら、焦点を絞ったコンテキストの方がより良い回答が得られ、コストも抑えられるからです」とあります。
修正がうまくいかない時。 ガイドのアドバイスは直接的です。「同じことを2回修正してもまだ間違っている場合、3回目の修正は、Claudeが読み返し続けるための2回の失敗した試行をすでに含んでいる会話に、さらに情報を追加するだけです。」 推奨されるのは、「/clear を行い、学んだことを盛り込んだ新しいプロンプトを1つ送ることです。ほとんどの場合、こちらの方がうまくいきます。」
2番目のケースはよりリスクがあります。2回伝えた修正内容こそが新しい会話に必要なものですが、書き留めておかない限り、それは消えてしまいます。
よくある誤解と試行
プロジェクトが消去されるのを恐れて /clear を避ける。 消去されません。CLAUDE.mdと自動メモリは新しい会話で再度ロードされます。
新しいタスクの前に毎回 /compact を実行する。 これは不要になった作業の要約を保持し、それを作るために会話全体を読み取ります。無関係な作業には /clear の方が軽量です。
タスクの途中でクリアする。 会話の中だけで決定されたことは、クリア後はコンテキストから外れます。代わりにコンパクト化するか、先に決定事項を保存してください。
クリアされた会話は削除されたと思い込む。 保存されています。/resume または巻き戻しメニューの「前のセッション」エントリを使用してください。
同じ間違いを3回修正しようとする。 Anthropicは、クリアしてより良いプロンプトを1つ書くことを推奨しています。
解決策:次のタスクに必要なものを保存してからクリアする
ステップ 1:クリアする前に、会話を超えて残すべきことを書き留める
再度説明が必要になりそうなものを探します。修正した規約、発見した制約、決定事項とその理由などです。規約はプロジェクトルートのCLAUDE.mdに記載します。その他の点については、Claudeに覚えておくよう指示してください。Anthropicのメモリドキュメントによると、Claudeはそれらを自動メモリに保存し、すべての会話の開始時にロードされます。Claude Codeが修正を忘れる理由についてのガイドで、それぞれの修正をどこに記述すべきか解説しています。
ステップ 2:名前を付けてクリアする
終了する作業に /clear oauth-migration のような短い名前を付けて実行します。Anthropicのベストプラクティスでも、後で戻れるようにこの方法が推奨されています。その後、以前のタスクから必要な内容を含めた明確なプロンプトを1つ送って、新しいタスクを開始します。
ステップ 3:必要に応じて戻る
早くクリアしすぎた場合は、同じプロセス内にいる間に巻き戻しメニューを開いて「前のセッション」エントリを選択するか、/resume を使用して名前付きセッションを選択します。コンテキスト制限に近づいている長いセッションについては、Claude Codeの1Mコンテキストメッセージに関するガイドで、圧縮によって何が保持されるかを解説しています。
MemoryLakeでの設定方法
/clear が機能するのは、プロジェクトのメモリが保持されるからです。弱点は、会話の中で到達し、書き留めなかった決定事項です。一つのリポジトリ内であれば、書き留めることでCLAUDE.mdや自動メモリに保持できます。しかし、同じ決定事項が別のリポジトリ、別のマシン、あるいは別のツールで重要になる場合、一つのプロジェクトに縛られない保管場所が必要になります。
MemoryLakeは、そのようなコンテキストをユーザー自身が管理する一つのリストに保持するためのメモリレイヤーです。Claude Codeだけでなく、ChatGPTやCodexなど、接続した他のアシスタントでも利用可能になります。
エントリは自分の言葉で記述します。Claude Codeのセッション、CLAUDE.mdファイル、自動メモリ、あるいはベンダーのストレージから何かが読み取られたり、書き込まれたり、削除されたりすることはありません。/clear はAnthropicが説明している通りの動作を維持します。
ステップ 1:APIキーを作成する
サインインし、ダッシュボードからキーを生成します。このキーはMemoryLakeワークスペースに属し、Claudeのアカウントとは別物です。

ステップ 2:最初のメモリをアップロードする
解決策のステップ1で書き留めた、一つのリポジトリを超えて適用される内容(好み、決定事項、繰り返し発生する制約など)から始めます。1エントリにつき1項目とし、日付を付けます。

ステップ 3:AIとエージェントを接続する
Claude Codeや使用している他のアシスタントを接続します。/clear や新しいセッション、あるいは別のツールへの切り替え後も、同じ決定事項を利用できます。

実践で変わること
第一の変化は、/clear を実行することにリスクを感じなくなることです。会話は空になりますが、プロジェクトの指示とメモリは保持されることがわかっているからです。
第二に、適切なコマンドを選択できるようになります。無関係な作業には /clear、同じタスクの継続には /compact、やり直しには /rewind を使い分けます。
第三に、重要なことが会話の中にだけ存在する状態がなくなります。クリアする前に決定事項を書き留めるようになるため、次のタスクはそれらを踏まえた状態で開始されます。
Claude Codeにおける/clearのベストプラクティス
無関係なタスクの間でクリアする。 焦点を絞ったコンテキストは、より良い回答をもたらし、コストを削減します。
タスクの途中ではクリアせず、コンパクト化する。 /compact は現在の作業の要約を保持します。
クリアする前に決定事項を保存する。 CLAUDE.mdに記載するか、Claudeに覚えておくよう指示してください。
終了するセッションに名前を付ける。 /clear <名前> を使用すれば、/resume で見つけやすくなります。
2回修正に失敗したらクリアする。 その後、学んだことを含めたプロンプトを1つ書きます。
クリアを取り消すには巻き戻しメニューを使う。 終了するか別のセッションを再開するまで有効です。
SessionStartフックを確認する。 /clear の後にも再度実行されます。
結論
/clear はプロジェクトのメモリを保持したまま、空のコンテキストウィンドウで新しい会話を開始します。CLAUDE.mdと自動メモリは再度ロードされ、クリアされた会話は保存されて再開可能であり、--name や /rename で設定した名前は引き継がれます。引き継がれないのは、会話の中にのみ存在していた内容です。
無関係なタスクの間や、修正が繰り返し失敗した後に /clear を使用しましょう。同じタスクを続ける場合は /compact を使い、クリアする前には繰り返したくない決定事項を書き留める習慣をつけましょう。