Claude Codeの能力は「ツール」によって定義される。ツールを理解することは、Claude Codeの可能性と限界を理解することだ。
ツールとは何か
Claude Codeが「ファイルを読む」「コマンドを実行する」といった操作を行うとき、内部ではツールと呼ばれる機能を呼び出している。
人間に例えるなら、ツールは「手足」に相当する。脳(AI)がどれだけ優秀でも、手足がなければ物理的な作業はできない。Claude Codeのツールは、AIの思考を現実世界の操作に変換するインターフェースである。
ファイル操作系ツール
Read — ファイルを読む
最も基本的なツール。ファイルの内容を読み取る。
対応形式:
- テキストファイル(.ts, .tsx, .py, .md, .json, .yaml 等)
- 画像ファイル(.png, .jpg 等)— Claude Codeはマルチモーダルであり、画像の内容を理解できる
- PDFファイル — ページ範囲の指定が可能
- Jupyter Notebook(.ipynb)— セルと出力を統合して読み取る
> このファイルの100行目から150行目を見せて
offset と limit パラメータで、大きなファイルの一部だけを読み取ることもできる。
Write — ファイルを作成する
新規ファイルの作成、または既存ファイルの完全書き換えに使う。
> src/utils/helpers.ts を新規作成して
Write vs Edit
既存ファイルの一部を変更したい場合は、WriteではなくEditを使う。Writeはファイル全体を置き換えるため、意図しない変更が起きるリスクがある。Claude Codeはこの使い分けを自動的に行うが、指示を出す際にも意識しておくとよい。
Edit — ファイルを編集する
既存ファイルの特定箇所を差分ベースで編集する。Claude Codeの最も頻繁に使われるツールの一つ。
仕組み: 変更したい文字列(old_string)を指定し、新しい文字列(new_string)に置き換える。ファイル全体を書き換えるのではなく、該当箇所だけを精密に編集する。
> この関数の戻り値の型を number から { value: number; unit: string } に変更して
replace_all オプションを使えば、ファイル内のすべての一致箇所を一括で変更できる。変数名のリネームなどに便利。
検索系ツール
Grep — コード内容を検索する
ripgrepベースの高速コンテンツ検索。正規表現が使える。
出力モード:
files_with_matches: マッチしたファイルパスの一覧(デフォルト)content: マッチした行の内容(前後のコンテキスト付き)count: マッチ数のカウント
> プロジェクト内で "useState" を使っている箇所をすべて探して
ファイルタイプやglobパターンでフィルタリングも可能。TypeScriptファイルだけを検索する、特定のディレクトリだけを検索する、といった絞り込みができる。
Glob — ファイルを探す
ファイル名のパターンマッチ。/*.tsx のようなglob記法でファイルを検索する。
> src/components/ 配下のすべての .tsx ファイルを探して
find コマンドに相当するが、Globツールの方が高速で、結果は更新日時順にソートされる。
Grep vs Glob の使い分け
Grep: ファイルの「中身」を検索したいとき(例:特定の関数が使われている場所)。Glob: ファイルの「名前」で探したいとき(例:特定のディレクトリのTypeScriptファイル一覧)。
コマンド実行系ツール
Bash — シェルコマンドを実行する
任意のシェルコマンドを実行する。最も強力で、最も注意が必要なツール。
主な用途:
- テスト実行(
npm test、pytest) - ビルド(
npm run build) - Git操作(
git status、git commit) - パッケージインストール(
npm install) - その他のCLIツール
制約:
- デフォルトで2分のタイムアウト(最大10分まで延長可能)
- バックグラウンド実行が可能(
run_in_backgroundパラメータ) - インタラクティブなコマンド(ユーザー入力が必要なもの)は非対応
> テストを実行して
Claude Codeは可能な限りBashよりも専用ツールを優先する。ファイルの読み取りには cat ではなく Read を、検索には grep ではなく Grep を使う。これにより、ユーザーがAIの行動を把握しやすくなる。
Web系ツール
WebFetch — Webページを取得する
URLを指定してWebページのコンテンツを取得し、分析する。HTMLはMarkdownに変換される。
> この API ドキュメント(URL)の内容を確認して
制約:
- 認証が必要なサイトには対応していない(Google Docs、Jira等)
- HTTPSにアップグレードされる
- 15分のキャッシュが有効
WebSearch — Web検索する
最新情報をWeb検索で取得する。ドキュメントの最新版やライブラリの更新情報を調べるのに便利。
> Next.js 16の最新のApp Routerの使い方を調べて
高度なツール
Agent — サブエージェントを起動する
複雑なタスクを別のエージェントに委任する。メインの会話のコンテキストを保護しつつ、専門的な調査や分析を行える。
エージェントの種類:
Explore: コードベースの探索に特化(読み取り専用)Plan: 実装計画の設計(読み取り専用)general-purpose: 全ツールが使える汎用エージェント- その他、カスタムエージェント
> セキュリティレビューをsecurity-reviewerエージェントに依頼して
TodoWrite — タスクを管理する
複雑な作業の進捗を管理する構造化タスクリスト。マルチステップの作業でClaude Codeが「今どこにいるか」を追跡する。
ツールの優先順位
Claude Codeは以下の原則でツールを選択する。
- 専用ツールを優先:
catよりRead、grepよりGrep、sedよりEdit - 最小権限の原則: ファイルの一部編集には
Write(全書き換え)ではなくEdit(部分編集) - 並列実行: 独立した複数のツール呼び出しは同時に行う
この設計により、AIの行動が人間にとって予測可能で検証しやすいものになっている。
医療文脈での活用例
| ユースケース | 使用ツール | 説明 |
|---|---|---|
| 患者データCSVの分析 | Read → Bash | CSVを読み取り、Pythonスクリプトで統計分析 |
| 論文PDFのレビュー | Read | PDFを読み取り、内容を要約・批評 |
| 医療計算アプリの開発 | Write + Edit + Bash | TypeScript関数の作成、テスト実行 |
| 既存コードのリファクタリング | Grep → Edit | 問題箇所の検索、差分ベースの修正 |
| APIドキュメントの確認 | WebFetch | 外部APIの仕様を取得して分析 |
この章のポイント
- Claude Codeのツールは「ファイル操作」「検索」「コマンド実行」「Web」「高度」の5カテゴリに分類される
- Readはテキスト・画像・PDF・Jupyterに対応し、Editは差分ベースの精密な編集を行う
- GrepはコンテンツClaude Codeは専用ツールをBashよりも優先し、AIの行動を予測可能にしている
- 各ツールはパーミッションシステムで制御され、人間の承認なしに実行されることはない