blog
AIブログ
Claude Code 拡張機能の種類と選び方|CLAUDE.md・Skills・Hooks・MCP・プラグイン・VS Code【2026年10月】
文:クリスタルメソッド編集部 監修:河合 継(代表取締役)
Claude Code の拡張機能とは、標準のまま使える Claude Code に「覚えておく指示(CLAUDE.md)」「呼び出せる手順(Skills)」「必ず動く自動処理(Hooks)」「外部サービスへの接続(MCP)」「別の作業役(サブエージェント)」を足し、それらをまとめて配る「プラグイン」で広げる仕組みの総称です。VS Code や JetBrains に入れる「IDE 拡張機能」も、同じ「拡張機能」という言葉で呼ばれます。
この記事では、それぞれが何を足すのか、どの順番で入れればよいのか、似ているもの同士をどう選び分けるのかを、公式ドキュメント(code.claude.com/docs、2026年10月23日確認)に沿って整理します。各機能の詳しい設定手順は、個別の解説記事へ案内します。
はじめての方へ:最初に入れるのは CLAUDE.md だけで十分です。公式も「Claude Code は初めてですか? CLAUDE.md でプロジェクト規約を開始します。その後、特定のトリガーが発生したときに他の拡張機能を追加してください」と案内しています。Claude Code そのものの全体像は Claude Code とはにまとめています。
Claude Codeの拡張機能には何がある?
公式の「Claude Code を拡張する」(features-overview)が挙げている拡張機能を、目的ごとに一覧にしました。左の列から「自分がやりたいこと」を探すと、使うべき機能が分かります。
| 拡張機能 | 何を足すか(使う場面) | 置き場所・入れ方 |
|---|---|---|
| CLAUDE.md | 毎回の会話で読まれる指示。ビルド方法・規約・「必ず X する」ルール | ./CLAUDE.md、~/.claude/CLAUDE.md。/init で下書きを作れる |
| .claude/rules/ | CLAUDE.md を分割したルール。特定のファイルを扱うときだけ読ませることもできる | .claude/rules/*.md(paths で対象を限定) |
| Skills(スキル) | 必要なときだけ読む手順書・参考資料。/名前 で呼べる。旧「カスタムスラッシュコマンド」もここに統合 | .claude/skills/<名前>/SKILL.md |
| サブエージェント | 別の会話で調べ物や専門作業をさせ、要約だけ受け取る | .claude/agents/*.md |
| Hooks(フック) | 決まったタイミングで必ず実行する処理。編集後の整形、危険な操作のブロック、通知 | settings.json の hooks。/hooks で確認 |
| MCP | 外部のサービスやデータ(GitHub・データベース・Slack・ブラウザーなど)への接続 | claude mcp add、共有は .mcp.json。/mcp で確認 |
| プラグイン・マーケットプレイス | スキル・フック・サブエージェント・MCP をまとめて1つで入れる・配る | /plugin の Discover タブ |
| 出力スタイル | 応答の口調・長さ・形式を切り替える | 組み込みスタイル(Concise など)か自作 |
| コードインテリジェンス | 言語サーバーにつなぎ、定義へのジャンプや型エラーを使わせる | 言語ごとのプラグインを入れる |
| VS Code・JetBrains の拡張機能 | エディタの中で Claude Code を使う(差分表示・@メンション・選択範囲の共有) | 各エディタのマーケットプレイスから入れる |
このほか公式には、多数のサブエージェントをスクリプトで動かす「動的ワークフロー」、別のセッションへ結果を渡す「セッション間メッセージング」も拡張レイヤーとして載っています。まずは上の表の上から順に、必要になったものだけ足していけば十分です。
ほかの拡張としてプラグインを使うときは、Claude Codeを拡張するコマンドで解説しています。
Claude Code 拡張機能とは——「拡張機能」という言葉の2つの意味
「claude code 拡張機能」で調べる人が探しているものは、大きく2つに分かれます。どちらを探しているかで、読むべき場所が変わります。
→ 本記事の「VS Code・JetBrains の拡張機能」の節、詳しくは Claude Code を VS Code で使う方法
→ 本記事の大部分はこちらの選び方です
公式ドキュメントは両者をはっきり分けています。プラグインの解説には「VS Code または JetBrains IDE 内で Claude Code を使用したい:これは VS Code 拡張機能または JetBrains プラグインであり、Claude Code プラグインではありません」と書かれています。名前が似ているので、記事やドキュメントを読むときはどちらの話かを確かめてください。
②の拡張レイヤーについて、公式は「Claude が何を知るかをカスタマイズし、外部サービスに接続し、ワークフローを自動化するために追加する機能」と説明しています。Claude Code はもともと、ファイルの読み書き・検索・コマンド実行・ウェブ参照の道具を持っていて、たいていのコーディング作業はそのままこなせます。拡張機能は、その基本の動き(指示を受けて考え、道具を使い、結果を見て次を決める繰り返し)の決まった場所に差し込まれます。
次に読む:Claude CodeでMCPを設定するには?
拡張機能の全体構造
拡張機能を選ぶときに役立つのは、「いつ読み込まれるか」と「誰が動くか」の2つの見方です。同じ「指示を書いておく」ものでも、毎回読まれるのか、必要なときだけなのか、Claude が判断せずに必ず実行されるのかで、向いている用途が変わります。
| 拡張機能 | いつ読み込まれるか | 誰が動くか | 会話の容量(コンテキスト)への負担 |
|---|---|---|---|
| CLAUDE.md | 毎回、セッション開始時に全文 | Claude(読んで従う) | 毎回かかる(だから短く保つ) |
| Skills | 開始時は名前と説明だけ。使うときに全文 | Claude | 使うまでは小さい |
| MCP | 開始時はツール名。詳しい定義は使うとき | 外部のサーバー | 使うまでは小さい |
| サブエージェント | 呼び出したとき、別の会話として | 別の Claude(要約を返す) | 本体の会話とは別枠 |
| Hooks | 決まったイベントが起きたとき | あなたのコマンド・スクリプト | 結果を返さない限りゼロ |
出典:code.claude.com/docs「Claude Code を拡張する」の「機能別のコンテキストコスト」(2026年10月23日確認)。拡張機能を足すほど会話の容量を少しずつ使うので、公式は「多すぎるとコンテキストウィンドウがいっぱいになる」「スキルが正しくトリガーされない場合や、Claude が規約を失う場合がある」と注意しています。
同じ機能を「個人用」「プロジェクト用」「組織用」など複数の場所に置いたときの扱いも、機能ごとに違います。
- CLAUDE.md は足し算:見つかったファイルはすべて連結して読まれ、どれかが他を上書きすることはありません。矛盾があると Claude がどちらかを選ぶので、食い違いを残さないようにします。
- Skills・サブエージェント・MCP サーバーは名前で1つに決まる:同じ名前が複数の場所にあると、優先順位の高い1つだけが使われます(スキルは組織 > 個人 > プロジェクト、MCP はローカル > プロジェクト > ユーザー)。
- Hooks は全部動く:どこで登録したフックも、条件に合えばすべて実行されます。
目的から選ぶ:こんなときはこの拡張機能
最初から全部をそろえる必要はありません。公式の「セットアップを段階的に構築する」では、「こんなことが起きたら、これを足す」というきっかけで説明されています。それを日本語でまとめると次のとおりです。
| こんなことが起きたら | 足すもの |
|---|---|
| Claude が同じ規約やコマンドを2回まちがえた | CLAUDE.md に書く |
| 「短く」「もっと説明して」と毎回お願いしている | 出力スタイルを設定する |
| 作業を始めるたびに同じ指示文を打っている | 呼び出せるスキルとして保存する |
| 同じ手順書をチャットに貼るのが3回目になった | スキルにまとめる |
| 別のツールの画面からデータを何度もコピーしている | そのツールを MCP サーバーとしてつなぐ |
| 定義や使用箇所を探すために多くのファイルを読ませている | 言語のコードインテリジェンス用プラグインを入れる |
| ついでの作業の出力で会話が埋まってしまう | サブエージェントに任せる |
| 頼まなくても毎回必ず実行させたい | フックを作る |
| 2つ目のリポジトリでも同じ設定が必要になった | プラグインにまとめる |
迷ったときは、次の4つの質問を上から順に当てはめると、たいてい1つに決まります。
- 外部のサービスやデータが必要? → はいなら MCP
- Claude の判断に任せず、毎回必ず実行したい? → はいなら Hooks
- 本体の会話を汚さず、別の場所で作業させたい? → はいならサブエージェント
- Claude に知識やルールを足したい? → いつも必要なら CLAUDE.md、特定のファイルのときだけなら .claude/rules/、ときどき必要なら Skills
公式の要約は「CLAUDE.md は常時有効なコンテキスト、スキルはオンデマンドの知識とワークフロー、MCP は外部接続、サブエージェントは分離、フックは自動化を担います」です。
CLAUDE.md——プロジェクトの文脈をClaudeに永続的に記憶させる
CLAUDE.md は、Claude Code がセッションの開始時に読み込む指示ファイルです。「毎回同じことを説明している」状態をなくす、いちばん基本の拡張です。拡張機能の中で最初に用意するのはこれです。
どこに置くか(4つの場所)
| 種類 | 場所 | 向いている内容 |
|---|---|---|
| 組織(管理ポリシー) | Linux・WSL は /etc/claude-code/CLAUDE.md など | 会社全体の規約・セキュリティ方針 |
| 個人(全プロジェクト) | ~/.claude/CLAUDE.md | 自分の好みの書き方や道具 |
| プロジェクト | ./CLAUDE.md または ./.claude/CLAUDE.md | チームで共有する構成・規約・ビルド方法(Git に入れる) |
| ローカル | ./CLAUDE.local.md | 自分だけのプロジェクト設定(.gitignore に入れる) |
公式によると、見つかったファイルは「互いに上書きするのではなく、コンテキストに連結」されます。起動した場所に近いファイルほど後ろに並ぶので、最後に読まれます。また、CLAUDE.md は「システムプロンプト自体の一部ではなく、システムプロンプトの後のユーザーメッセージとして配信」されます。つまり CLAUDE.md は Claude が読んで従おうとする文脈で、必ず守られる設定ではありません。必ず守らせたいことは、後で説明する Hooks や権限設定で止めます。

実践的なCLAUDE.mdの書き方
公式は「CLAUDE.md ファイルあたり 200 行以下を目標」とし、「2 スペースのインデントを使用する」「コミット前に npm test を実行する」のように、確かめられるほど具体的に書くことを勧めています。新しく作るときは /init を実行すると、Claude がコードを読んでビルド方法などを含む下書きを作ります。
# プロジェクト概要 Next.js + TypeScript + Prisma の業務アプリ。 # コマンド - 開発: npm run dev - テスト: npm test(コミット前に必ず実行) - 型チェック: npm run typecheck # 規約 - TypeScript は strict。any は使わず unknown を使う - テストは変更したファイルと同じフォルダの __tests__/ に置く - 環境変数は src/env.ts を通して参照する # 詳しい資料 - API の書き方 @docs/api-conventions.md
最後の行の @パス は、別のファイルを取り込む書き方です。ただし取り込んだファイルも毎回読まれるので、容量の節約にはなりません。特定のフォルダのファイルを扱うときだけ読ませたいルールは、.claude/rules/ に paths を付けて置きます。ときどきしか使わない長い手順や資料は、次の Skills に移します。
CLAUDE.mdに書くべき内容・書かない方が良い内容
| 書くべき内容 | 書かない方が良い内容(置き場所) |
|---|---|
| ビルド・テストのコマンド | APIキー・パスワード(どこにも書かない) |
| コーディング規約・命名規則 | 何段階もある手順書(→ Skills) |
| プロジェクトのフォルダ構成の要点 | 一部のフォルダだけのルール(→ .claude/rules/) |
| 「X は決してしない」というルール | 絶対に止めたい操作(→ Hooks・権限設定) |
| 新しいメンバーが最初に間違えやすいこと | 「丁寧に答えて」のような一般的なお願い(→ 出力スタイル) |
CLAUDE.md の置き場所の細かい使い分け、自動メモリ(Claude が自分で書くメモ)との違いは Claude Code のメモリ(CLAUDE.md)の解説にまとめています。
Skills(旧カスタムスラッシュコマンド)——繰り返す手順を「/名前」で呼び出す
スキルは、手順・チェックリスト・参考資料を SKILL.md に書いておき、/スキル名 で呼び出したり、関係のある作業のときに Claude に自動で使わせたりする仕組みです。公式は「スキルは最も柔軟な拡張機能です」と説明しています。
以前の Claude Code では、.claude/commands/ に Markdown を置く「カスタムスラッシュコマンド」が定番でした。現在の公式ドキュメントには「カスタムコマンドはスキルにマージされました」とあり、.claude/commands/deploy.md と .claude/skills/deploy/SKILL.md のどちらも /deploy を作り、同じように動きます。既存の commands のファイルはそのまま使えますが、新しく作るならスキルの形がおすすめです。スキルは、補助ファイルを同じフォルダに置ける、Claude が自動で使うかどうかを決められる、といった機能が追加されています。
作成方法と保存場所
.claude/skills/<名前>/SKILL.mdリポジトリにコミットすれば、チーム全員が使えます
~/.claude/skills/<名前>/SKILL.md同じ名前がプロジェクトにもある場合は、個人用が優先されます
フォルダ名がそのままコマンド名になります。Claude Code にはあらかじめ /code-review・/batch・/debug・/loop などのスキルも入っています。
カスタムスラッシュコマンドの実例(スキルの形で書く)
コードレビューを頼むスキルの例です。先頭の --- で囲んだ部分の description は、Claude が「いつこのスキルを使うか」を判断する材料になります。$ARGUMENTS には、呼び出すときに続けて入力した文が入ります。
# ファイル: .claude/skills/review/SKILL.md --- description: 変更したコードをレビューする。バグ・セキュリティ・読みやすさ・テスト不足を重要度つきで指摘する --- 以下の観点で、いまの変更をレビューしてください。 ## 観点 - バグや論理の誤り - セキュリティ上の問題(SQLインジェクション、XSS など) - 読みやすさ・命名 - テストが足りない箇所 ## 追加の指示 $ARGUMENTS ## 出力 指摘は重要度(高・中・低)を付けて箇条書きにしてください。
使うときは、セッションで /review 型の安全性も見て と入力します。決まった観点と追加の指示がまとめて Claude に渡ります。

動的コンテキストを活用した高度なコマンド
スキルの本文に !`コマンド` と書くと、Claude が内容を読む前にそのコマンドが実行され、行が実行結果に置き換わります(公式の呼び名は「動的コンテキスト注入」)。実行した時点の最新の状態を、指示と一緒に渡せます。
# ファイル: .claude/skills/changelog/SKILL.md --- description: 最近のコミットから利用者向けの変更履歴を作る disable-model-invocation: true --- 次のコミット一覧から、利用者向けの変更履歴(日本語)を作ってください。 ## 対象コミット !`git log --oneline -20` ## 形式 - 追加 / 変更 / 修正 に分ける - 技術的な細部より、利用者への影響を書く - バージョン番号: $ARGUMENTS
disable-model-invocation: true を付けると、Claude が勝手に使わず、/changelog と呼んだときだけ動きます。公式は、デプロイのように実行すると影響が出るスキルにはこの設定を付けるよう勧めています。スキルの作り方と frontmatter の全項目は Claude Code Skills の解説、組み込みのコマンド一覧は スラッシュコマンドの解説にあります。
フック(Hooks)——イベント駆動で処理を自動化する
フックは、Claude Code の決まったタイミング(イベント)で、あなたが用意したコマンドやスクリプトを自動で実行する仕組みです。CLAUDE.md やスキルの指示は Claude が読んで判断するのに対し、フックは Claude の判断を通さずに必ず動きます。公式は「ガードレールはフックに置きます」「『.env は決して編集しない』といった指示は要望であり、保証ではありません。編集をブロックする PreToolUse フックは強制力を持ちます」と説明しています。
利用可能なフックの種類
公式のフックリファレンスには、セッションの開始から終了まで 33 種類のイベントが載っています(2026年10月23日確認)。まず押さえたい代表的なものは次のとおりです。
| イベント | 起きるタイミング | よくある使い方 |
|---|---|---|
| SessionStart | セッションの開始・再開時 | 環境変数の読み込み、要約後の注意の再提示 |
| UserPromptSubmit | 指示を送信した直後 | ブランチ名など今の状況を書き添える |
| PreToolUse | ツールを使う前(止められる) | 危険なコマンドや保護したいファイルの編集を止める |
| PermissionRequest | 承認の確認を出す前 | 決まった確認だけを自動で許可する |
| PostToolUse | ツールが成功した後 | 編集したファイルの整形・lint |
| Notification | 入力や承認を待つ通知のとき | デスクトップ通知を出す |
| Stop / SubagentStop | 応答が終わったとき/サブエージェントが終わったとき | 終わった合図、作業の確認 |
| PreCompact / SessionEnd | 会話の要約の前/セッション終了時 | 記録の保存、後片付け |
実行するものも、シェルコマンド(command)のほか、URL へ送る http、MCP のツールを呼ぶ mcp_tool、Claude に判定させる prompt、試験中の agent の5種類から選べます。
フックの設定方法
フックは ~/.claude/settings.json(自分の全プロジェクト)、.claude/settings.json(プロジェクト・Git で共有できる)、.claude/settings.local.json(プロジェクト・自分だけ)などに書きます。次は、公式ガイドにある「編集したファイルを Prettier で整形する」例と、Bash コマンドの前に確認スクリプトを通す例、通知の例を1つにまとめたものです。
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }
]
}
],
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{ "type": "command", "command": "python3 \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/check_dangerous_command.py" }
]
}
],
"Notification": [
{
"matcher": "",
"hooks": [
{ "type": "command", "command": "notify-send 'Claude Code' 'Claude Code needs your attention'" }
]
}
]
}
}
ポイントは、フックが受け取る情報は標準入力の JSON だということです。編集したファイルのパスは tool_input.file_path、Bash のコマンドは tool_input.command に入っています。コマンドの文字列の中で使える変数は ${CLAUDE_PROJECT_DIR} などに限られ、${file} のような書き方は公式には用意されていません。通知は Linux の例で、macOS では osascript を使います。matcher は大文字と小文字を区別します。

危険なコマンドをブロックするPreToolUseフックの実装例
PreToolUse のフックは、終了コード 2 で終わると、そのツールの実行を止めます。そのとき標準エラーに書いた文が、止めた理由として Claude に伝わります。終了コード 0 は「異議なし」で、通常の承認の流れに戻ります(自動で許可するわけではありません)。
#!/usr/bin/env python3
# .claude/hooks/check_dangerous_command.py
import json
import sys
# 標準入力の JSON を受け取る(例: {"tool_name": "Bash", "tool_input": {"command": "..."}})
data = json.load(sys.stdin)
command = data.get("tool_input", {}).get("command", "")
dangerous_patterns = [
"rm -rf /",
"drop table",
"chmod 777 /",
]
for pattern in dangerous_patterns:
if pattern in command.lower():
print(f"危険なコマンドのためブロックしました: {pattern}", file=sys.stderr)
sys.exit(2) # 2 で終了 → このツール実行を止める
sys.exit(0) # 0 で終了 → 通常の承認の流れへ
コマンドの文字列は tool_input の中にあるので、data["tool_input"]["command"] の順にたどります。いちばん外側の JSON から直接 command を探すと、いつも空になってしまい、何も止められません。作ったスクリプトは、Claude Code に入れる前に echo '{"tool_name":"Bash","tool_input":{"command":"rm -rf /"}}' | python3 check_dangerous_command.py; echo $? のように見本の JSON を流して、2 が返るか確かめておくと安心です。
イベント33種の一覧、JSON で細かく判定を返す方法、チームでの共有方法は Claude Code hooks の設定と活用ガイドで、実際にブロックされる画面とあわせて解説しています。

MCP——外部のサービスやデータにつなぐ
MCP(Model Context Protocol)は、Claude Code を外部のツールやデータにつなぐための標準の仕組みです。公式は「別のツール(課題追跡ツールや監視ダッシュボードなど)からチャットにデータをコピーしている場合は、サーバーを接続してください」と案内しています。つなぐと、Claude が課題管理・データベース・デザインツールなどを直接読み、操作できるようになります。
追加のしかたと保存先
# インターネット上の MCP サーバーを追加する claude mcp add --transport http notion https://mcp.notion.com/mcp # 手元で動かす MCP サーバーを追加する(-- の後ろが起動コマンド) claude mcp add --transport stdio filesystem -- npx -y @modelcontextprotocol/server-filesystem . # チームで共有する(.mcp.json に書かれる) claude mcp add --transport http --scope project notion https://mcp.notion.com/mcp
| スコープ | 保存先 | 使う場面 |
|---|---|---|
| local(既定) | ~/.claude.json | このプロジェクトで自分だけが使う |
| project | プロジェクト直下の .mcp.json | チーム全員で使う(Git に入れる。初回は各自が承認) |
| user | ~/.claude.json | 自分の全プロジェクトで使う |
Claude Code の MCP 設定は .mcp.json と ~/.claude.json に保存されます。デスクトップアプリ「Claude Desktop」の claude_desktop_config.json とは別のファイルなので、取り違えないようにしてください。

MCP とスキルの違い
よく迷うのが MCP とスキルの使い分けです。公式の整理では、MCP は「ツールとデータへのアクセス」、スキルは「知識、ワークフロー、参考資料」を足すもので、組み合わせて使うのが基本です。たとえば MCP でデータベースにつなぎ、スキルにはそのデータベースのテーブル構成やよく使う問い合わせの書き方を書いておく、という形です。どのサーバーから入れるか、認証の方法、トラブルの直し方は Claude Code MCP の使い方で詳しく説明しています。
Claude Code・AIエージェントの業務導入をご検討の方は、自社での開発実例を公開しているクリスタルメソッドの無料相談をご利用ください。
Sub-agents・.claude/rules・出力スタイル——押さえておきたい残りの拡張機能
ここまでの CLAUDE.md・Skills・Hooks・MCP に加えて、知っておくと選び方が楽になる拡張機能を、「いつ読み込まれるか」「誰が動くか」で並べます。
| 拡張機能 | いつ読み込まれるか | 誰が実行するか | 主な用途 |
|---|---|---|---|
| サブエージェント | 呼び出したとき、別の会話で | 別の Claude | 多くのファイルを読む調査、専門のレビュー、並行作業 |
| .claude/rules/ | 毎回、または対象のファイルを扱ったとき | Claude | 言語やフォルダごとのルールを分けて管理 |
| 出力スタイル | 毎回(1つだけ有効) | Claude | 応答を短くする、説明を増やす、開発以外の役割で使う |
| コードインテリジェンス | 編集の後と、記号を調べるとき | 言語サーバー | 定義へのジャンプ、型エラーの把握 |
サブエージェントは、.claude/agents/ に役割・使える道具・モデルを書いた Markdown を置いて作ります。サブエージェントが何十ものファイルを読んでも、本体の会話に返ってくるのは要約だけなので、会話の容量を守れます。スキルとの違いについて公式は、スキルは「任意のコンテキストに読み込める再利用可能なコンテンツ」、サブエージェントは「メインの会話とは別に実行される分離されたワーカー」と説明しています。作り方は サブエージェントの解説、複数のエージェントを協調させる方法は Agent Teams の解説にあります。

.claude/rules/ は、CLAUDE.md を分割するための場所です。先頭に paths: ["src/api/**/*.ts"] のように書くと、そのファイルを扱うときだけ読み込まれます。CLAUDE.md が長くなってきたときの逃がし先として使います。
CLAUDE.md は「一度書いて終わり」の仕様書ではなく、作業の中で Claude が同じ間違いをしたら書き足して育てていくものです。公式も「繰り返される間違いや何度も出てくるレビューコメントは、チャットでのその場限りの修正ではなく、CLAUDE.md を編集すべきもの」としています。一方で、書き足しすぎると読み込みの負担が増え、守られにくくなります。定期的に /doctor で見直しの提案を受けると、古い指示や矛盾を減らせます。
プラグインとマーケットプレイス——拡張機能をまとめて入れる・配る
プラグインは、スキル・サブエージェント・フック・MCP サーバーなどを1つのまとまりにして、まとめて入れたり配ったりする仕組みです。公式は「プラグイン はパッケージングのレイヤーです」と説明しています。中身は .claude-plugin/plugin.json(名前やバージョン)と、skills/・agents/・hooks/hooks.json・.mcp.json などのフォルダです。

入れ方と、入れる前に知っておくこと
- 入れ方:ターミナルの Claude Code で
/pluginを実行し、Discover タブから選びます。Anthropic の公式マーケットプレイスは、最初に対話モードで起動したときに自動で追加されます。VS Code の拡張機能では/pluginsで同じ管理画面が開きます。 - 入れる範囲(スコープ):自分の全プロジェクト(user)、チーム全員(project。
.claude/settings.jsonに記録)、このリポジトリの自分だけ(local)から選びます。ターミナル・デスクトップアプリ・VS Code 拡張機能は同じ設定ファイルを読むので、user で入れたプラグインはどれからでも使えます。 - 名前の衝突を防ぐ:プラグインのスキルには
/プラグイン名:スキル名のように名前空間が付くので、複数のプラグインが共存できます。 - 容量と権限:有効なプラグインのスキルやエージェントの名前と説明は、使わないセッションでも会話の容量を少し使います。また、公式は「プラグインが実行するもの、それはあなたとして実行されます」と注意しています。使わないものは
/pluginで無効にするかclaude plugin disableで止めます。
スキルやフックは、プラグインにしなくても単体で使えます。プラグインが向いているのは、同じ設定を複数のリポジトリで使いたいとき、チームや社外に配りたいときです。自分のプロジェクトだけで使うなら、まず .claude/ の中に単体で置き、2つ目のリポジトリで必要になったらプラグインにまとめる、という順番で十分です。
VS Code・JetBrains の拡張機能——エディタの中で Claude Code を使う
「拡張機能」という言葉で、VS Code に入れる Claude Code を探している方も多いはずです。公式は VS Code 拡張機能を「VS Code で Claude Code を使用する推奨方法」と位置づけています。ターミナルの Claude Code と中身は同じで、差分の確認や範囲の指定をエディタの画面で行えるのが違いです。
VS Code 拡張機能の入れ方(4ステップ)
- 拡張機能を探す:VS Code で
Ctrl+Shift+X(Mac はCmd+Shift+X)を押して拡張機能ビューを開き、「Claude Code」を検索します。名前の似た第三者製の拡張機能もあるので、発行元が Anthropic のもの(ID はanthropic.claude-code)を選んで Install します。Cursor にも同じ拡張機能を入れられます。 - 開く:ファイルを開くと、エディタ右上に Claude Code を表す Spark アイコンが出ます。クリックするとパネルが開きます。
- サインインする:初回はサインイン画面が出るので、Claude の有料プラン(Pro は月額 $20〜、2026年10月23日に claude.com/pricing で確認)か Claude Console のアカウントでサインインします。API キーは不要です。VS Code 1.94.0 以上が必要です。
- 頼んでみる:入力欄に作業を書いて送ります。ファイルを編集するときは、変更前と変更後が並んで表示され、承認を求められます。


エディタでできること:差分の承認・@メンション・計画の確認
- 差分を見て承認する:Claude がファイルを編集しようとすると、元の内容と変更案が並んで表示されます。ファイル全体をまとめて承認・拒否するほか、変更ごとの「Accept this change」「Reject this change」で一部だけ採用することもできます。
- 範囲を指定して渡す:エディタで選択した部分は自動で Claude に伝わります。
Alt+K(Mac はOption+K)を押すと、@ファイル名#5-10のような行範囲つきの参照を入力欄に入れられます。 - 計画を先に確認する:Plan モードでは、Claude が作業前に計画を Markdown の文書として開くので、読んでから承認できます。
- 巻き戻す:チェックポイントに対応していて、Claude の編集を前の状態に戻せます。会話は複数のタブで並べて開けます。

権限モード・必要なプラン・つまずいたとき
入力欄の下のモード表示をクリックすると、Claude にどこまで任せるかを切り替えられます。公式が挙げる主なモードは次の3つです。
- Manual:ファイルの編集やほとんどのコマンドの前に、毎回確認を求めます。慣れるまではこれが安全です。
- Plan:変更する前に計画を説明し、承認を待ちます。計画は Markdown の文書として開き、コメントで直しを伝えられます。
- Auto:確認の代わりに判定の仕組みがほとんどの操作を見て、危ないものを止めます。v2.1.283 以降は開始時の既定のモードです。任せる範囲が広がるので、重要なリポジトリでは Manual や Plan と使い分けます。
拡張機能自体は無料で入れられますが、使うには Claude の有料プランか Claude Console(API の従量課金)のアカウントが必要で、Free プランでは使えません。
| プラン | 料金(米ドル) | 向いている人 |
|---|---|---|
| Pro | 月額 $20(年払いなら月 $17 相当) | まず個人で試す |
| Max | 月額 $100〜 | 毎日長く使う個人 |
| Team | Standard 席 $20(年払い)/$25(月払い)、Premium 席 $100/$125。2〜150席 | チームで管理したい |
出典:claude.com/pricing(2026年10月23日確認)。どのプランを選ぶかは Claude Code の料金で詳しく比べています。
VS Code でうまく動かないときは、公式のトラブルシューティングに沿って次を確かめます。
- Spark アイコンが出ない:フォルダーだけでなくファイルを開く。VS Code が 1.94.0 以上か確認する。コマンドパレットで「Developer: Reload Window」を実行する。他の AI 拡張機能を一時的に止める。ワークスペースを信頼する(制限モードでは動きません)。右下のステータスバーの「Claude Code」から開くこともできます。
- 「Not logged in · Please run /login」と出る:通常は自動でサインイン画面が開きます。開かなければ「Developer: Reload Window」で再読み込みします。
- .env などを Claude に渡したくない:選択範囲や開いているファイルは自動で Claude に伝わるため、そのパスに
Readの拒否ルールを設定します。拒否ルールに当たるファイルは、選択した文字も開いているという通知も届かなくなります。
ターミナル(CLI)との違いと、JetBrains の場合
| 項目 | ターミナル(CLI) | VS Code 拡張機能 |
|---|---|---|
| コマンドとスキル | すべて使える | 一部(「/」で使えるものを確認) |
| MCP サーバーの設定 | できる | できる(パネルで /mcp) |
| チェックポイント | ある | ある |
! で Bash を直接実行・Tab 補完 | 使える | 使えない |
| CLI の導入 | 必要 | パネル用は同梱(統合ターミナルで claude を使うなら別に必要) |
出典:code.claude.com/docs「VS Code で Claude Code を使用する」の「VS Code 拡張機能と Claude Code CLI の比較」(2026年10月23日確認)。CLI だけの機能が必要なときは、VS Code の統合ターミナルで claude を実行すれば、差分表示などの連携を保ったまま使えます。拡張機能と CLI は会話の履歴も共有していて、claude --resume で続きから再開できます。
JetBrains(IntelliJ IDEA・PyCharm・WebStorm・Android Studio など)では、JetBrains マーケットプレイスの「Claude Code」プラグインを入れます。こちらは CLI を同梱していないので、先に CLI を入れ、IDE の統合ターミナルで claude を実行して使います。IDE の差分表示、選択範囲の共有、ファイル参照のショートカットが使えます。
大事なのは、IDE 拡張機能を入れても、CLAUDE.md・Skills・Hooks・MCP・プラグインといった拡張レイヤーはそのまま使えることです。VS Code 拡張機能の設定画面には MCP サーバー・フック・メモリ・プラグインなどの項目が並び、拡張機能で入れたプラグインやマーケットプレイスは CLI でも使えます(その逆も同じ)。つまり「どの画面で使うか」と「何を足すか」は別々に選べます。設定項目の一覧や、つながらないときの切り分けは Claude Code を VS Code で使う方法で詳しく説明しています。
拡張機能を組み合わせた実践的なワークフロー例
拡張機能は1つずつ違う問題を解くので、実際には組み合わせて使います。公式が挙げている組み合わせの型は次の4つです。
| 組み合わせ | 仕組み | 例 |
|---|---|---|
| スキル + MCP | MCP が接続し、スキルが上手な使い方を教える | MCP でデータベースにつなぎ、スキルにテーブル構成と問い合わせの型を書く |
| スキル + サブエージェント | スキルが並行作業用にサブエージェントを起動する | /audit がセキュリティ・性能・書き方の担当を別々に動かす |
| CLAUDE.md + スキル | 常に必要なルールと、ときどき必要な資料を分ける | CLAUDE.md に「API の規約に従う」、スキルに API の書き方の全文 |
| フック + MCP | フックが MCP 経由で外部に知らせる | 重要なファイルが変わったら Slack に通知 |
これを日々の開発に当てはめると、たとえば次のような流れになります。
パターン1:PR作成までをまとめる
ブランチ名の付け方・PR の書き方を定義
git log を読んで PR の文面を作る
作った文面で PR を実際に作成
パターン2:コード変更の品質ゲート自動化
Prettier・ESLint を自動実行
lint の指摘を見て直す
入力待ちをデスクトップ通知
公式によると、lint を実行する PostToolUse フックの結果は「Claude が読むテキストとして返します」。そのため、フックで機械的に検査し、直し方は Claude に任せる、という分担ができます。
パターン3:DBスキーマ変更の安全な補助
今のテーブル構成を読む
今の構成を踏まえて変更案を作る
DROP を含む操作は実行前に止める
拡張機能の設定時によくあるトラブルと対処法
| 症状 | よくある原因 | 確かめ方・直し方 |
|---|---|---|
| CLAUDE.md の指示が守られない | 読み込まれていない/指示があいまい・矛盾している | /context の Memory files に出ているか確認。具体的に書き直す。必ず守らせたいことはフックへ |
| スラッシュコマンド(スキル)が表示されない | 置き場所やファイル名の誤り | .claude/skills/<名前>/SKILL.md の形か確認。/skills で一覧を見る |
| スキルが自動で使われない | description があいまい、他と重なっている | 何をするか・いつ使うかを具体的に書く。確実に使うなら /名前 で呼ぶ |
| フックが発火しない | JSON の書き間違い、matcher の大文字小文字、スクリプトに実行権限がない | /hooks で登録を確認。chmod +x。見本の JSON を流して手で試す。claude --debug で詳細を見る |
| MCP サーバーが使えない | 認証が済んでいない/.mcp.json のサーバーが未承認/環境変数が未設定 | /mcp と claude mcp list、claude mcp get <名前> で状態を確認 |
| プラグインのスキルが出てこない | プラグインが無効、読み込みに失敗 | /plugin の Installed で状態を確認し、必要なら再読み込み |
| 会話がすぐ容量いっぱいになる | CLAUDE.md が長い、使わない拡張が多い | /context で内訳を見て、資料をスキルへ移す・使わないプラグインを無効にする |

どの症状でも、最初にすることは「読み込まれているか」の確認です。CLAUDE.md は /context、スキルは /skills、フックは /hooks、MCP は /mcp、プラグインは /plugin で、それぞれ今のセッションに何が入っているかを確かめられます。
拡張は「数」より「運用」(一次情報)
監修者・河合継は、Claude Code に拡張機能を取り入れながら実務で運用してきました。拡張は揃えること自体が目的になりがちですが、効くのは選び方と運用です。
- 効果の中心は派手な拡張より日々の土台。MCP やフックより先に、CLAUDE.md で文脈を共有し、よく使う操作を整えるほうが効きました。拡張はその上に必要な分だけ足すもの、と捉えると迷いません。
- 入れたら「効いているか」を確かめてから次へ。拡張を増やすほど、何がどう作用しているか見えにくくなります。一つ入れて効果を確認し、要らなければ外す。この回し方がいちばん安定しました。
- 権限とセキュリティは拡張ごとに見る。外部とつなぐ拡張ほど、できることが増える分リスクも増えます。何を許すのかを拡張単位で確認しておくと安全です。
拡張機能を使う際のセキュリティ上の注意点
拡張機能は Claude Code にできることを増やしますが、同時に「何が実行されるか」も増やします。入れる前と、共有する前に確認したい点です。
- MCP サーバーは信頼できるものだけ:公式は「接続する前に、各サーバーを信頼できることを確認してください。外部コンテンツを取得するサーバーは、プロンプトインジェクションリスクにあなたを晒す可能性があります」と警告しています。
- プラグインとフックはあなたの権限で動く:プラグインのコードやフックのスクリプトは、あなたのユーザー権限で実行されます。中身を確認してから入れ、スクリプトがしてよいことは最小限にします。
- .mcp.json や設定ファイルに秘密情報を直書きしない:API キーは環境変数で渡し、コミット前に
git diffで確認します。 - CLAUDE.md に機密情報を書かない:プロジェクトの CLAUDE.md はリポジトリにコミットされます。本番データベースの接続先や認証情報は書かないでください。
- 他人のリポジトリは設定ファイルを見てから:
.mcp.jsonや.claude/settings.jsonを含むリポジトリを取ってきたら、中身を確認してからclaudeを実行します。.mcp.jsonのサーバーは、初回に承認するまで動きません。 - 止めたいことは指示でなく仕組みで:CLAUDE.md の「〜しない」は要望です。確実に止めるには、権限設定の deny ルールや PreToolUse フックを使います。設定の書き方は 権限設定の解説、リスクの考え方は セキュリティの解説にあります。
よくある質問
Q. Claude Codeの拡張機能にはどんな種類がありますか?
A. 主に、毎回読まれる指示の CLAUDE.md(と分割用の .claude/rules/)、必要なときに呼ぶ手順の Skills(旧カスタムスラッシュコマンド)、別の会話で作業させるサブエージェント、決まったタイミングで必ず実行する Hooks、外部のサービスやデータにつなぐ MCP、それらをまとめて入れる・配るプラグインがあります。ほかに出力スタイルやコードインテリジェンス、エディタで使うための VS Code・JetBrains の拡張機能もあります。
Q. 最初にどの拡張機能を入れればよいですか?
A. まずは CLAUDE.md です。公式も、初めての人は CLAUDE.md でプロジェクトの規約を書き、必要になったきっかけで他の拡張機能を足すよう案内しています。同じ指示を何度も打つようになったらスキル、外部のデータをコピーしているなら MCP、必ず守らせたいことがあればフック、という順番で足していきます。
Q. カスタムスラッシュコマンドとSkillsは何が違いますか?
A. 現在の公式ドキュメントでは、カスタムコマンドはスキルに統合されています。.claude/commands/deploy.md と .claude/skills/deploy/SKILL.md のどちらも /deploy を作り、同じように動きます。既存の commands のファイルは引き続き使えますが、スキルは補助ファイルを同じフォルダに置けることや、Claude が自動で使うかどうかを決められることが加わっているため、新しく作るならスキルの形がおすすめです。
Q. CLAUDE.mdは上書きされますか?システムプロンプトに入りますか?
A. 上書きはされません。見つかった CLAUDE.md はすべて連結して読み込まれ、起動した場所に近いものほど後ろに並びます。また公式によると、CLAUDE.md はシステムプロンプトの一部ではなく、その後のユーザーメッセージとして渡されます。Claude が読んで従おうとする文脈なので、必ず守らせたい操作はフックや権限設定で止めます。
Q. フックにはどんな種類がありますか?
A. 公式のフックリファレンスには、SessionStart・UserPromptSubmit・PreToolUse・PermissionRequest・PostToolUse・Notification・Stop・SubagentStop・PreCompact・SessionEnd など33種類のイベントが載っています(2026年10月23日確認)。実行するものは、シェルコマンドのほか、URL へ送る http、MCP のツールを呼ぶ mcp_tool、Claude に判定させる prompt、試験中の agent から選べます。
Q. PreToolUseフックで危険なコマンドをブロックするにはどうすればいいですか?
A. フックは標準入力で JSON を受け取ります。Bash のコマンドは tool_input.command に入っているので、それを取り出して危険なパターンを含むか調べ、含んでいれば標準エラーに理由を書いて終了コード 2 で終わります。終了コード 2 でそのツール実行が止まり、理由が Claude に伝わります。外側の JSON から直接 command を探すと空になり、何も止められない点に注意してください。
Q. MCPとスキルはどう使い分けますか?
A. MCP は外部のサービスやデータへの接続を足し、スキルは知識や手順を足します。たとえば MCP でデータベースにつなぎ、スキルにはそのテーブル構成やよく使う問い合わせの書き方を書いておく、というように組み合わせて使うのが基本です。
Q. プラグインとVS Codeの拡張機能は同じものですか?
A. 違います。プラグインは、スキル・フック・サブエージェント・MCP サーバーなどを1つにまとめて Claude Code に入れるもので、/plugin から導入します。VS Code の拡張機能や JetBrains のプラグインは、エディタの中で Claude Code を使うためのもので、公式も「Claude Code プラグインではありません」と区別しています。VS Code 拡張機能でも、CLAUDE.md・Skills・Hooks・MCP・プラグインはそのまま使えます。
Q. 拡張機能を使う際のセキュリティ上の注意点は?
A. MCP サーバーは信頼できるものだけにつなぐ(外部の内容を取るサーバーはプロンプトインジェクションの危険がある)、プラグインやフックはあなたの権限で動くので中身を確かめる、API キーを .mcp.json や CLAUDE.md に直書きしない、他人のリポジトリは設定ファイルを確認してから claude を実行する、確実に止めたいことは CLAUDE.md の指示でなく権限設定やフックで止める、の5点です。
まとめ
Claude Code の拡張機能は、CLAUDE.md(いつも読む指示)・Skills(必要なときに呼ぶ手順。旧カスタムスラッシュコマンド)・サブエージェント(別の会話で作業)・Hooks(必ず実行する自動処理)・MCP(外部への接続)、そしてそれらをまとめて配るプラグインで構成されています。VS Code・JetBrains の拡張機能は「どの画面で使うか」の選択で、これらの拡張レイヤーはどの画面でも共通に使えます。
入れる順番は、まず CLAUDE.md、同じ指示を何度も打つようになったらスキル、外部のデータをコピーしているなら MCP、必ず守らせたいことが出てきたらフック、2つ目のリポジトリで同じ設定が要るならプラグイン、です。「困ったことが起きたら、それに合う1つを足す」と決めておけば、拡張が増えすぎて何が効いているか分からなくなることを防げます。
関連記事
- Claude Code とは(全体像・始め方・料金)
- Claude Code のメモリ(CLAUDE.md)の使い方
- Claude Code Skills とは?作り方と使い方
- Claude Code のスラッシュコマンド一覧
- Claude Code hooks の設定と活用ガイド
- Claude Code MCP 設定の使い方
- Claude Code のサブエージェントとは
- Claude Code を VS Code で使う方法
- claude code api 料金
- claude code codex 比較
- claude code cursor 比較
Claude Code・AIエージェントの業務活用をご検討の方へ
クリスタルメソッドは、Claude Codeを日々の業務で使いながら、AIエージェント・社員AIの導入と開発効率化を支援しています。自社サイトの表示速度をAI社員(Claude Code)で12.89秒→2.03秒に短縮した実例も事例記事として公開しています。「自社の開発・業務にAIをどう組み込むか」といったご相談を承っています。
- 無料相談・お問い合わせ:ご相談はこちら
Read next
あわせて読みたい
-
Claude Codeを拡張するコマンド|/plugin /deep-research /claude-api ほか【2026年版】
Claude Code で Deep Research(複数の情報源を突き合わせて調べる深掘り調査)をするいちばん手早い方法は、最初から入っている /deep-...
-
Claude Code MCP設定の使い方|外部ツール連携の実装【2026】
Claude Code MCPとは何か:AIコーディングを拡張する仕組みの全体像 Claude CodeのMCPとは、Claude CodeにGitHub・デー...
-
Claude Code Skillsとは?公式スキル一覧・作り方・使い方をわかりやすく解説【2026年版】
Claude Code Skills(スキル)とは、Claude Codeに「この場面ではこう進めてほしい」という手順書(SKILL.md)を追加して、必要なと...
