複数セッションを並走させていて、後でピッカーから探すときに名前で識別したい人向け
料理ブログのレシピインポート機能・SEO改善・コメント欄リファクタみたいに、同じプロジェクトで複数のセッションを並走させる時に「claude -n recipe-import-feature」のように起動して、後で「claude --resume recipe-import-feature」で名前指定で戻れるようにする場面で使う。
Claude Code を立ち上げる時、コマンドの後ろに -n recipe-import-feature のように書き足すと、そのセッションに自分で決めた名前が付きます。タスクを複数並走させていると、後で /resume の選択画面を開いた時に「あれ、どれがどの作業だっけ」となりがちですが、名前を付けておけば一目で見分けが付きます。
-n と --name は同じ働きをする2つの書き方です。短く済ませたい時は -n、設定ファイルやスクリプトに残して後で読み返したい時は --name のように使い分けます。
噛み砕くと
会議室の予約システムに似ています。普通に予約すると「会議室A 14:00〜」みたいに無機質な番号が振られるだけですが、予約時に「新商品ブレスト」と件名を付けておくと、後で予約一覧を見た時に「あ、これだ」とすぐ見つかる。-n はそれと同じ役割で、Claude Code のセッションに件名のラベルを貼る働きをします。
ラベルは /resume の選択画面、ターミナルのウィンドウタイトル、入力欄の上部に表示されます。後でそのセッションに戻る時、claude --resume recipe-import-feature のように名前を直接指定して即復帰できるのもラベルがあってこそです。
名前を付ける場所は2か所ある
起動時に決めるなら -n または --name、対話の途中で付け直すなら /rename スラッシュコマンドです。両者は同じ「セッションの名前」を書き換える機能ですが、タイミングが違います。
もう1つ、plan モードで作った計画を accept した瞬間に、計画の内容から自動で名前が付くケースもあります。ただし、すでに名前を付け済みのセッションは上書きされません。最初に -n で名前を決めておけば、plan accept で勝手に名前が書き換わる事故を防げます。
「料理ブログの 'recipe-import-feature' セッション」を例に、実際の手順を見る
料理ブログのプロジェクトで、新しく「他サイトのレシピをインポートする機能」を作りたい状況を想定します。同じプロジェクトでは並行して、SEO改善・コメント機能・お問い合わせフォーム修正なども走らせている、という前提です。
ステップ1: 名前を付けて起動する
料理ブログのフォルダに移動して、名前付きで Claude Code を立ち上げます。
$ cd ~/projects/cooking-blog
$ claude -n recipe-import-feature
起動後、入力欄の上にプロンプトバーが表示され、そこに recipe-import-feature という名前が出ます。ターミナルのウィンドウタイトルにも反映されるので、複数ウィンドウを開いて作業している時に切り替えがラクになります。
ステップ2: 普通に会話して作業を進める
「クックパッドのURLを貼ったら、タイトル・材料・手順を抽出して下書きに変換するスクリプトを作って」みたいな指示を出して、コードを書いてもらいます。途中で /compact で会話を要約しても、/clear で一旦リセットしても、セッションの名前は保持されます。
ステップ3: 別の作業に呼び出されて、一旦離脱する
「お問い合わせフォームから問い合わせが届かない」という別件が割り込んできました。今のセッションは置いたまま、別のウィンドウで Claude Code を新規起動してそちらを対応します。半日くらい別件にかかりっきりになりました。
ステップ4: 名前を直接指定して、元のセッションに戻る
レシピインポートの作業に戻りたくなったら、名前を直接書いて呼び出します。
$ claude --resume recipe-import-feature
その名前が他にかぶっていなければ、選択画面を経由せず一発で復元されます。直前の会話の続きから「で、URLパースの所どこまでやってましたっけ」と話せる状態に戻ります。
ステップ5: 名前を忘れたら、選択画面から探す
名前を覚えていない時は、後ろに名前を書かず claude --resume だけ叩くか、対話中なら /resume で選択画面を開きます。
$ claude --resume
過去のセッション一覧が表示され、名前を付けたものは件名のように並んで見えます。名前を付けていないセッションは会話の冒頭文や要約が代わりに表示されるので、見分けは付きますが視認性は名前付きの方が圧倒的にラクです。
ステップ6: ここで初心者がやりがちな勘違い
「-n と --name はちょっと違うのかな」と思いがちですが、完全に同じものです。短く書きたい時 -n、スクリプトに残して可読性を取りたい時 --name、好きな方でOK。逆に「対話中に -n って打てば名前が変わる」と思って -n new-name をプロンプトに直打ちすると、ただの文字列として扱われてしまいます。対話中に名前を変えるなら /rename new-name スラッシュコマンドの方を使います。
つまり -n / --name は何をしてくれるのか
- やってくれる: セッションに自分で決めたラベルを付けて、選択画面・ウィンドウタイトル・プロンプトバーに表示する。後で
claude --resume <名前>でその名前を指定して直接復帰できる - やってくれる: 別の worktree にあるセッションでも、名前一致で見つけて呼び出してくれる
- やってくれない: 名前を付けたからといって会話の中身は変わらない。記憶力が伸びるわけでも、コンテキストが分かりやすくなるわけでもなく、あくまで「探しやすさ」のためのラベル
- 意味が薄い場面: セッション1個しか並走させない人。常に
claude --continueで最後のセッションを呼び戻すだけなら、名前を付ける手間に対して見返りが小さい
使いどころ3シナリオ(具体題材で再現)
シナリオ1: 料理ブログで機能ごとに並行作業しているとき
レシピインポート、SEO改善、コメント欄リファクタを同時並行で進めている時に、それぞれ claude -n recipe-import-feature claude -n seo-cleanup claude -n comment-refactor で起動しておくと、後でどれに戻りたいか名前で即指定できます。私が同じプロジェクトで3つ以上のセッションを並走させる時は、最初から名前を付ける運用に統一しています。
シナリオ2: 家計簿アプリのバグ調査セッションを翌日に持ち越したいとき
「明細CSVをインポートすると日付がズレる」みたいなバグを夜中に追いかけていて、原因が掴めないまま寝落ちしそうな時。claude -n csv-date-bug-investigation で名前を付けておけば、翌朝 claude --resume csv-date-bug-investigation で昨夜の会話の真ん中から続きを再開できます。「あれ、どのセッションだっけ」と探す時間がゼロになります。
シナリオ3: OSS clone直後にコード探索セッションを始めるとき
GitHub から興味あるプロジェクトを clone してきて、「とりあえずアーキテクチャ読ませて」をやる時。claude -n llamaindex-explore みたいに「プロジェクト名+explore」で名前を付けておくと、後日同じプロジェクトに戻ってきた時に claude --resume llamaindex-explore で過去の理解の続きから入れます。コードベースを跨いで複数 OSS を探索している人ほど、名前付けの恩恵が大きいです。
初心者が踏みやすい落とし穴
- 対話中に
-nを打っても名前は変わらない。あくまで起動時専用。対話中に名前を変えたい時は/rename new-nameスラッシュコマンドを使う - 同じ名前のセッションが複数あると、復帰の挙動が2つの呼び方で違う。
claude --resume <名前>は曖昧な時に選択画面を開いて名前で絞り込んでくれるが、対話中の/resume <名前>は曖昧だとエラーになるだけで選択画面は出ない。エラーが出たら/resumeを後ろに何も書かずに叩き直す - plan モードで計画を accept すると、名前未設定のセッションは自動命名される。後で「あれ、思ったのと違う名前になってる」と混乱しないよう、最初に
-nで決めておくと安心 - 古い Claude Code(v2.1.128 より前)だと、
/compact直後に/renameを後ろに何も書かずに叩くと失敗する。バグは修正済み — 公式 changelog v2.1.128 の記載: 「Fixed/renamewithout args failing on resumed sessions whose last entry is a compact boundary」。古い版を使い続けている場合はclaude updateで最新化を - 古い Claude Code(v2.1.108 より前)だと、
claude --resume <UUID>で復帰した時に/renameで付けた名前と色が消えるバグがあった。これも修正済みだが、旧版で踏むと「名前付けたはずなのに消えてる」と混乱の元になる - 古い Claude Code(v2.1.101 より前)だと、
claude -p --resume <名前>が名前指定を受け付けず UUID 必須だった。CI などで古い版を固定しているなら、名前ではなくセッションIDで指定する必要がある - 名前は表示用ラベルにすぎず、会話の中身や Claude の理解度には影響しない。名前を凝ってもセッションが賢くなるわけではないので、シンプルに「自分が思い出せる単語」で十分
- 名前は同じプロジェクト内+その worktree 群の中で解決される。完全に無関係な別プロジェクトに同じ名前のセッションがあっても呼び出しの対象にならないので、プロジェクト跨ぎの名前重複は気にしなくていい
書き方
claude -n <セッション名>
claude --name <セッション名>
やってみるとこうなる
入力
claude -n recipe-import-feature
出力例
起動後、入力欄の上のプロンプトバーに「recipe-import-feature」が表示され、ターミナルのウィンドウタイトルにも反映される。後で「claude --resume recipe-import-feature」で名前指定の直接復帰ができ、「/resume」の選択画面でも件名のように並んで見える。
このページに出てきた言葉
- セッション
- Claude Code との1回分の会話のまとまり。パソコンにファイルとして保存されていて、後から呼び戻して続きから話せる
- プロンプトバー
- Claude Code の入力欄の上に表示される情報帯。セッション名・モデル名・現在のモードなどが並ぶ
- worktree
- 1つのプロジェクトを別ブランチで同時に作業できるよう、別フォルダにチェックアウトする Git の仕組み
- plan モード
- Claude Code が「先に計画を立ててから実行する」モード。計画を読んでOKしてから動き始める安全寄りのモード
- compact
- 会話の履歴を要約に置き換えて、コンテキスト容量を節約する操作。<code>/compact</code> スラッシュコマンドで実行する
- UUID
- セッション1つ1つに自動で振られる長い識別子。名前を付けていなくてもこのIDで指し示せる