
Claude Codeのbtwコマンドを使ってみたらforkコマンドとの使い分けが見えてきた
こんにちは、せーのです。先程 Claude Code から /btw コマンドが発表されたので、早速使ってみたいと思います。
以前「【小ネタ】Claude codeの [rewind]と[fork]はうまく使うと結構便利」という記事で、こんな課題を書いていました。
- いま進めている作業はそのままにしたい
- ついでに別の質問をして、答えは知りたい
- でも本編の会話は汚したくない
当時は rewind や fork で対処していたのですが、その課題が /btw ならワンコマンドで解消できるようになりました。btw は "By the way"(ところで)の略で、作業を止めずにサイドで質問できる機能です。
/btw の基本的な使い方
使い方はシンプルです。Claude Code のセッション中に、/btw のあとに質問を続けて入力するだけです。
# 例: 何か作業を依頼したあと、作業中に
/btw このプロジェクトで使われている言語は何?
回答は overlay(オーバーレイ) で表示されます。メインの会話はそのまま進んでおり、Claude がレスポンスを書いている最中でも /btw は使えます。回答を閉じるには Space / Enter / Escape のいずれかを押すとプロンプトに戻れます。重要なのは、このやり取りは会話履歴に残らないこと。/context で確認しても、/btw の質問と回答は出てきません。つまり、本編を汚さずに「ところで」の確認だけできる仕組みです。
やってみた
実際に試した様子を載せます。まず、ある Python プロジェクト(work-timer)で「README.md を要約して」と依頼したあと、/btw で「このプロジェクトで使われている言語は何?」と聞きました。
❯ このプロジェクトのREADME.mdを読んで内容を要約して
⏺ Read 1 file (ctrl+o to expand)
⏺ README.md の要約
work-timer は、ポモドーロ・テクニックを使った集中作業を支援する Python 製 CLI ツールです。
主な機能: 作業セッション・休憩の管理、リアルタイムタイマー表示、日次・週次の履歴トラッキング、
~/.work-timer/config.toml でカスタマイズ可能、など。
...
❯ /btw このプロジェクトで使われている言語は何?
/btw このプロジェクトで使われている言語は何?
このプロジェクトは Python で書かれています。README.md に「Python 3.10 以上」が必要環境として
記載されており、pip install -e . でインストールする構成です。
Press Space, Enter, or Escape to dismiss
overlay で回答が表示され、Space / Enter / Escape で閉じられます。会話履歴には残りません。
次に、長時間タスクのあいだに /btw を使うパターンです。メインタスクは中断されず、回答は会話コンテキスト(Claude がすでに読んだ内容)に基づいて返ります。「このプロジェクトのテストをすべて確認して、カバレッジが低い部分を特定して」と依頼し、Claude がカバレッジ分析を出している最中に /btw さっき読んだ設定ファイルのパスを教えて と入力すると、次のように返ってきました。
❯ /btw さっき読んだ設定ファイルのパスを教えて
/btw さっき読んだ設定ファイルのパスを教えて
README.mdによると、設定ファイルのパスは以下の通りです:
- 設定ファイル: ~/.work-timer/config.toml
- 履歴ファイル: ~/.work-timer/history.json
Press Space, Enter, or Escape to dismiss
メインのタスク(カバレッジ分析)は止まっておらず、/btw の回答はコンテキスト内の情報だけで返っています。
ツールが使えないことも確認しました。コンテキストにないファイル(例: このプロジェクトには存在しない package.json)を /btw package.json の中身を見せて のように聞いても、ツールは動かず、コンテキストにない旨の回答になります。実際のやり取りは次のとおりです。
❯ /btw package.json の中身を見せて
/btw package.json の中身を見せて
このプロジェクトはPython製のCLIツールなので、package.json は存在しません。
代わりに、Pythonのパッケージ管理には setup.py や pyproject.toml
などが使われているはずです。これらの内容を確認しますか?
Press Space, Enter, or Escape to dismiss
Enter キーで overlay を閉じたあと、今度はプロジェクトに存在するがコンテキストに読み込んでいない pyproject.toml を聞くと、ツールは使われず「コンテキストにない」と返ります。
❯ /btw pyproject.tomlの中身を見せて
/btw pyproject.tomlの中身を見せて
現在のコンテキストでは pyproject.toml
の内容を読み込んでいないため、中身をお見せすることができません。
会話が再開したら pyproject.toml を読んでお見せしますので、改めてお声がけください。
Press Space, Enter, or Escape to dismiss
逆に、すでにコンテキストにあることなら、/btw だけで答えてくれます。例として「このコードベースのエントリポイントはどこ?」と聞いたときの回答は次のとおりです。
❯ /btw このコードベースのエントリポイントはどこ?
/btw このコードベースのエントリポイントはどこ?
エントリポイントは2箇所あります:
1. work_timer/__main__.py — python -m work_timer で実行する場合のエントリポイント
2. work_timer/cli.pyのmain()関数 — work-timer コマンドのCLIエントリポイント(Clickで実装)
pip install -e . でインストールすると、console_scripts 設定により work-timer が cli.py:main() に
マッピングされる構成です。
Press Space, Enter, or Escape to dismiss
ここまで試した範囲では、/btw はコンテキスト内の情報だけで答え、ツールは使わないことが確認できました。rewind / fork / subagent との使い分けは次のセクションでまとめます。
どういう時に便利か
自分がよく使う場面を挙げると、次のような感じです。
- 設定ファイル名の確認 — 「さっきの設定ファイルの名前なんだっけ?」
- コードの意味確認 — 長いタスク実行中に「この関数って何してるんだっけ?」
- 以前の判断の確認 — 「さっきなんでこのアプローチを選んだんだっけ?」
- 用語・概念の確認 — 作業を止めずに技術用語をその場で確認
いずれも「会話のなかで既に出てきた情報」についての確認なので、ツールでファイルを読んだり検索したりする必要がなく、/btw の読み取り専用の範囲で十分です。これは便利です。
rewind / fork / btw / subagent の使い分け
以前紹介した rewind / fork に、今回の /btw と subagent を加えた 4 つの使い分けを表にまとめます。
| 手法 | 操作の手軽さ | 回答の保持 | ツール使用 | 作業の中断 | 向いている場面 |
|---|---|---|---|---|---|
| /btw | /btw 質問 だけ |
残らない(エフェメラル) | 不可 | なし(作業中もOK) | 軽い確認(名前・用語・以前の判断) |
| rewind | 質問→回答→Esc×2→選択 | トランスクリプトに残る | 可能(通常の質問) | あり(質問中は作業停止) | やや重い質問で、回答確認後に戻したい |
| fork | 別ターミナル→CLI | 別セッションとして残る | 可能(通常の質問) | なし(別セッション) | 重い調査、別トピックとして残したい |
| subagent | Claude が自動判断 | タスク結果として残る | フルアクセス | なし(並列実行) | 新しい情報の調査・取得 |
公式ドキュメントでは、/btw と subagent を「逆の関係」と説明しています。/btw は会話全体は見えるがツールは使えない、subagent はツールはフルに使えるがコンテキストは空からスタート、というイメージです。違いを整理すると、/btw は「今のセッションで既に知っていること」の確認向け、subagent は「新しくファイルを読んだり検索したりして調べる」向け、というイメージです。
注意点
- ツールは使えません — ファイル読み込み、コマンド実行、検索はできません。コンテキストにない内容(例: まだ読んでいない
package.jsonの中身)を聞いても、ツールは動かず「コンテキストにありません」といった回答になります。 - シングルレスポンス — フォローアップのやり取りはできません。続けて聞きたい場合は通常のプロンプトで質問してください。
- 段階的ロールアウト中 — 2026-03-11 時点で段階的ロールアウト中のため、手元の環境でまだ使えない場合があります。
claude --versionでバージョン確認をしてみてください。
また、親会話の prompt cache を再利用するため、/btw のトークンコストは最小限に抑えられています。気になる方は /cost で使用前後を比べてみるとよいと思います。
まとめ
/btw を使ってみて感じたのは、次の三点です。
- 「いまの作業はそのまま、ついでに軽く聞きたい」 がワンコマンドでできるので、rewind/fork より手軽
- 回答が会話履歴に残らないので、本編を汚さずに済む
- ツールは使えないので「既に会話に出てきたこと」の確認に使うとよい
rewind や fork と使い分けると、作業の流れを止めずに確認したいときは /btw、回答を残したい・ツールで調べたいときは rewind/fork や subagent、という形で使い分けられそうです。どうぞ参考にしてみてください。








