Claude Code /cdコマンド完全ガイド|セッションを保ったままディレクトリ移動・キャッシュ維持の仕組み
- monorepoや複数リポジトリをまたいで開発するエンジニア・フリーランス
- Claude Codeを毎回
cd && claudeで立ち上げ直すのに疲れた方 - プロンプトキャッシュとコスト効率を意識して使いたい方
- git worktreeでの並列開発をスムーズに回したい方
「バックエンドの実装を確認した上でフロントエンドを修正したい」。monorepoで開発していると、この当たり前の作業がClaude Codeでは地味に面倒だった。packages/apiで起動したセッションを一度閉じ、packages/webへcdしてclaudeを叩き直す。そのたびに読み込んだファイルも会話履歴もリセットされ、さっき説明した前提知識をもう一度伝え直す羽目になる。
2026年6月8日のアップデート(v2.1.169)で追加された/cdコマンドは、この儀式を減らせる機能だ(Claude Code Docs)。セッションを保ったまま作業ディレクトリだけを移せる。地味だが、毎日Claude Codeを触る人間にとっては効きを感じやすい。
先に結論を言う。/cdは「同じ文脈のまま隣のディレクトリを見たいとき」に使う。monorepoやgit worktreeを使うなら今すぐ試す価値がある。逆に、案件ごとに頭を切り替えたいときは無理に使わず、新しいセッションを立てたほうが判断がクリーンだ。理由はこれから順に説明する。
/cdコマンドとは何か
/cdは、実行中のセッションを別の作業ディレクトリへ移動させるコマンドだ。
> /cd ../web-frontend
これだけで、会話のコンテキストを丸ごと引き継いだまま、Claudeの視点がweb-frontendへ移る。ターミナルを閉じる必要も、セッションを立ち上げ直す必要もない。Qiitaのkai_kou氏は「バックエンドの実装を確認した上でフロントエンドを修正する」という作業を同一セッションで完結できる点を、monorepo開発の実利として挙げている(Qiita)。
公式ドキュメントによると、移動の挙動は次の3点に整理できる(Claude Code Docs)。
- 移動先の
CLAUDE.mdは、システムプロンプトを置き換えるのではなくメッセージとして追記される - セッションの保存先が移動先ディレクトリのプロジェクトストレージへ移るため、
--resumeと--continueが新しい場所で見つかる - 初めて作業するディレクトリの場合、信頼するかどうかの確認が出る
PMとしての理解では、1番目がこの機能の肝だ。なぜキャッシュが壊れないのか。その理由はここにある。
なぜプロンプトキャッシュが壊れないのか
Claude Codeは会話の接頭部(システムプロンプト+ツール定義+過去のやり取り)をキャッシュし、次のターンではキャッシュ済みの部分を再送せずに済ませている。これが効いているとAPIコストが大きく下がる。キャッシュの基本はプロンプトキャッシュ1時間TTLガイドで詳しく触れた通りだ。
従来のcd && claude再起動が割高だったのは、まさにこのキャッシュを毎回ゼロから作り直していたからだ。/cdは移動先のCLAUDE.mdをシステムプロンプトの書き換えではなく追記として扱うことで、キャッシュ済みの接頭部を温存する。技術ブログのofox.aiは、この挙動を「再送が必要だったはずの内容に対して約90%の割引が効く(Claude Opus 4.8の場合)」と表現している(ofox.ai)。
つまり/cdは「コンテキストを保てて便利」だけの機能ではない。コスト効率を保ったままディレクトリを移せることに本質がある。
キャッシュが効いているか確かめる方法: /cdした次のメッセージで、レスポンスのcache_read_input_tokensがゼロでなければキャッシュが生きている。ofox.aiはこの確認法を推奨している(ofox.ai)。
光だけではない:キャッシュが書き直る3つのケース
「常に無料で移動できる」わけではない。ofox.aiは、キャッシュ書き込みが発生する条件を3つ挙げている(ofox.ai)。
| ケース | 影響度 | 何が起きるか |
|---|---|---|
移動先のCLAUDE.mdが違う | 小 | 追記分の小さなキャッシュ書き込みのみ。接頭部は維持 |
| MCPサーバー構成が違う | 条件次第 | ツール検索が無効な環境でのみ全書き直し |
/add-dir済みの場所へ/cd | 中 | パス解決が曖昧になりBashの挙動がぶれる |
先に安心材料を。多くの人(直接Anthropic接続で既定設定)は、ここをほとんど気にしなくてよい。表の2番目がそれだ。MCPサーバーが異なっても、直接Anthropic接続でdeferred tools(ツール定義を必要時に読み込む既定方式)を使っているなら、新しいツール定義が追記されるだけで済む。全書き直し(約12倍のコスト)が起きるのは、ツール検索が無効になるHaikuモデル、Vertex AI、独自のANTHROPIC_BASE_URLゲートウェイ経由のときに限られる(ofox.ai)。自分がどれに該当するか分からないなら、まず気にせず使ってよい。
3番目は実害が出やすい。すでに/add-dirで参照に加えたディレクトリへ/cdすると、元のルートと新しいルートのどちらを基準にすべきかが曖昧になり、Bashコマンドの結果がぶれることがある。相対パスより絶対パスを使う、共有するCLAUDE.mdやMCP設定は~/.claude/のユーザーレベルに寄せておく。この2つで1番目と3番目の問題はかなり避けられる。
/cdと/add-dirは別物
ここを混同すると事故る。
/cd: セッションそのものを移す。プロジェクトが切り替わり、--resumeの保存先も移動先になる/add-dir: セッションは動かさず、別フォルダへのファイルアクセスを足すだけ
wmedia.esの解説がシンプルだ。「/cdはセッション全体を移動させる。/add-dirはセッションを移さずフォルダへのアクセスを追加するだけ」(wmedia.es)。
使い分けはこうだ。作業の主軸を別パッケージへ移すなら/cd。複数パッケージを横断的に参照しながら一箇所で作業し続けるなら/add-dir。両方を雑に併用すると、前述のパス解決の曖昧さを自分で招くことになる。
「移動」は思考の焦点も動かす
/cdを理解する上で見落としがちな点がある。ディレクトリを移すと、Claudeの探索範囲そのものが変わることだ。
ブログ「ibukish Lab+」の検証が分かりやすい。monorepoのルートで「Pythonプロジェクトはいくつある?」と聞くと10個を見つけたが、cd api/api1した後に同じ質問をすると1個しか返さなかったという(ibukish Lab+)。作業ディレクトリを移すと、Claudeの探索が自然とそのサブツリーへ絞り込まれる。
これは諸刃の剣だ。巨大なmonorepoで特定パッケージに集中させたいときは焦点が絞れて好都合。一方で、同記事は「他アプリの情報を完全に分離するのは不可能」とも指摘している。/cdはあくまで焦点の移動であって、コンテキストの完全なリセットではない。重い前提を引きずったまま別パッケージへ移ると、無関係な知識が判断に混ざることもある。
git worktreeとの相性
/cdが特に活きるのは、git worktreeを使った並列開発だ。worktreeは同じリポジトリ履歴を共有しつつ、別ブランチ・別ディレクトリで作業できる仕組みで、片方でフィーチャー開発、もう片方でバグ修正を同時に走らせられる(Claude Code Docs)。
これまでは新しいworktreeへ移るたびにセッションを立ち上げ直していた。/cdなら、調査の文脈を保ったまま隣のworktreeへ滑り込める。なお公式ドキュメントによると、worktreeは.envなどの未追跡ファイルを引き継がないため、自動コピーしたいなら.worktreeincludeをプロジェクトルートに置く必要がある(Claude Code Docs)。サブエージェントを並列で走らせるなら、isolation: worktreeをfrontmatterに設定する方法もある。ネストしたサブエージェントと組み合わせると、複数ディレクトリにまたがる作業を一気に捌けるようになる。
同じ週に来た他の更新
Week 24(6月8〜12日)は/cd以外にも実用的な更新があった(Claude Code Docs)。
- サブエージェントの入れ子(v2.1.172): サブエージェントがさらにサブエージェントを生成できるように。暴走防止のため最大5階層まで
- セーフモード(v2.1.169):
claude --safe-modeでCLAUDE.md・スキル・プラグイン・フック・MCPをすべて無効化して起動。設定が壊れたときの切り分けに使う - フォールバックモデル:
fallbackModelで最大3つのモデルを順に試せるように
セーフモードと/cdが同じv2.1.169で来たのは象徴的だ。どちらも「設定とコンテキストをどう扱うか」という、地味だが日常の摩擦に直結する部分への手当てになっている。
電脳狐影ならこう使う
正直に言うと、最初は「cdしてclaudeし直せばいいだけでは」と軽く見ていた。考えが変わったのは、キャッシュを温存できると知ってからだ。再起動のたびにコンテキスト構築のコストを払っていたのが、/cd一発で済む。チリも積もれば、の典型だ。
自分の使い方はこうだ。monorepoのルートでセッションを起動し、共通のCLAUDE.mdで全体像を持たせた上で、作業対象のパッケージへ/cdして焦点を絞る。ibukish Lab+が推奨している運用とほぼ同じ結論に落ち着いた(ibukish Lab+)。一方、別案件・別リポジトリへ移るときは/cdを使わない。前の案件の文脈を引きずるくらいなら、素直に新セッションを立てたほうが判断がクリーンになる。
/cdは「同じ文脈で隣を見たいとき」の道具だ。文脈を切りたいときまで無理に使う必要はない。そこを取り違えなければ、monorepo開発の体験は一段軽くなるはずだ。
まずは小さく試してほしい。monorepoのルートでClaude Codeを起動し、何か1つ質問してから/cd ./packages/任意のパッケージと打つ。会話が途切れず焦点だけが移るのを体感できれば十分だ。合わなければ/cdでルートに戻ればいい。
関連記事:
- Claude Codeプロンプトキャッシュ1時間TTLガイド
- Claude Code 大型アップデートまとめ
- Claude Code 自動タスク完全ガイド(/loop・/schedule)
- Claude Code ネストしたサブエージェント実践ガイド
- MCP実践ガイド 2026
※本記事の情報は2026年6月22日時点の調査に基づく。Claude Codeは頻繁にアップデートされるため、最新の仕様は公式ドキュメントを確認してほしい。キャッシュ挙動の一部はユーザー検証に基づく情報を含み、利用環境(モデル・接続方式)により異なる場合がある。仕様は予告なく変更されることがある。Claude、Claude Codeは Anthropic PBC の商標。