Claude Media
Claude CodeにApple公式のXcodeプラグインが登場 — 入れ方と前提条件

Claude CodeにApple公式のXcodeプラグインが登場 — 入れ方と前提条件

Appleが作者のXcodeプラグインが、Anthropic公式マーケットプレイスに追加されました。ビルド・テスト・SwiftUIプレビューをClaude Codeから頼める入れ方と、前提条件を説明します。

2026年11月6日、Anthropicの公式プラグインマーケットプレイス claude-plugins-official に、作者がApple Inc. のプラグイン xcode が加わりました。Claude Codeから、Xcodeプロジェクトのビルド・実行・テスト、SwiftUIプレビューの描画、シミュレーターや実機の操作、ビルドログの読み取り、Appleの開発者ドキュメント検索を頼めるようになります。インストールは /plugin install xcode@claude-plugins-official の1行です。ただしこのプラグインは、手元のXcodeが生成するものをそのまま使う特殊な形式で、入れる前に知っておく点があります。

何がマーケットプレイスに載ったのか

追加はPR #6338「Add Xcode plugin (xcode)」で、2026年11月6日00:55(UTC)にマージされました。marketplace.json の記載は次のとおりです。

数字

公式マーケットプレイスの中の xcode

  • 登録プラグイン数

    317

    取得時点

  • うち command 型

    1

    xcode のみ

  • 検証が失敗した箇所

    3

    PR #7015 で例外扱いに

marketplace.json と PR #7015 から

登録は作者Apple Inc.、カテゴリdevelopment、homepageはdeveloper.apple.com/xcode/ です。

説明文には5つの作業が並びます(原文は次の節の表に載せています)。サードパーティ製ではなく、Appleの名前でXcode連携が公式の棚に並んだことになります。

もう1つ目を引くのは取得方法です。このエントリは、GitHubリポジトリやnpmからの取得ではありません。インストール時に xcrun agent plugin path --plugin-format claude を実行し、その出力をプラグインの置き場所として使います。同じ時点のマーケットプレイス317件のうち、この方式を使うのは xcode だけです。

Claude Codeから何を頼めるようになるか

登録されている説明文(原文は表の左列)の5項目を、iOS・macOS開発者の作業に当てはめると次のようになります。下の依頼文は例で、実際の出力や所要時間は環境で変わります。

説明文の項目頼み方の例
スキームのビルド・実行・テスト(build, run, and test schemes)頼み方の例「App スキームをビルドして、失敗したら原因を教えて」
SwiftUIプレビューの描画(render SwiftUI previews)頼み方の例「この ProfileView のプレビューを描画して、余白を確認して」
シミュレーターと実機の操作(drive simulators and devices)頼み方の例「シミュレーターでアプリを起動し、設定画面まで進んで」
ビルドログと診断の読み取り(read build logs and diagnostics)頼み方の例「直近のビルドの警告とエラーを一覧にして」
Appleの開発者ドキュメント検索(search Apple developer documentation)頼み方の例「このAPIの最新の使い方をAppleの資料で調べて」

これまでも、xcodebuild を直接叩く方法や、XcodeのMCPサーバーを登録する方法でClaude CodeからXcodeを触れました。違いは、Appleが用意したものをプラグインとして1コマンドで入れられる点です。ビルドエラーの出力を絞る工夫はxcodebuildのエラーをxcresultで絞る手順にあり、プラグインのログ読み取りで足りないときは、この手順も併用できます。

入れ方

Claude Codeは、対話セッションを初めて開いたときに公式マーケットプレイスを自動で登録します。マーケットプレイスの追加は不要で、そのままインストールできます。

/plugin install xcode@claude-plugins-official

セッション内で実行すると、すぐには入らず、/plugin のパネルがこのプラグインの詳細で開きます。内容を見て、スコープを選んでから進めます。

このプラグインは command 型なので、Claude Codeは実行するコマンドの全文を見せ、承認を求めます。表示されるのは xcrun agent plugin path --plugin-format claude です。承認すると、コマンドが実行され、出力されたディレクトリが読み込まれます。

スクリプトやセットアップ手順から入れるときは、承認を確認する相手がいません。--yes を付けて承認済みにします。

claude plugin install xcode@claude-plugins-official --yes

入ったかどうかは、/plugin のInstalledタブで確認します。

仕組み: Xcodeが作ったディレクトリを読み込む

command 型のプラグインは、手元のツールが出力するディレクトリを、そのままプラグインにします。Claude Codeのドキュメントでは、ディレクトリを生成するのは「IDEが、ユーザーの選んだツールチェーン向けに出力する」ような場面を想定した仕組みです。コマンドは sh から、ホームディレクトリを作業ディレクトリとして実行されます。標準出力にはプラグインディレクトリの絶対パスを1行だけ出し、終了コード0で終わる必要があります。

mode: link なので、Claude Codeはディレクトリをコピーせず、その場にあるファイルを読み込みます。つまり、xcrun が出力した場所は、プラグインを入れている間は動かせません。

コマンドの再実行は、次のタイミングで起きます。

  • プラグインをインストール、または更新するとき
  • 有効な command 型プラグインについて、セッション開始後にバックグラウンドで1回
  • 起動時や /reload-plugins で、入っているバージョンがキャッシュに無いとき

DevelopersIOの検証記事が示す出力先は .../ExportedPlugins/27A266a/claude で、ビルド番号らしい区切りを含みます。linkモードでは、出力されたパスが変わると新しいバージョンとして扱われます。Xcodeの更新で出力先が変われば、次のセッションの再実行で新しい中身に切り替わる構造です。環境変数 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC を設定していると、このバックグラウンドの再実行は走りません。明示的なインストールと更新では実行されます。更新は、/plugin のMarketplacesタブの「Update marketplace」では対象になりません。Installedタブか claude plugin update xcode@claude-plugins-official で行います。仕組みの詳細はプラグインのコマンドソースの解説にあります。

プラグインの中身

Appleの外部エージェント向け手順書には、xcrun agent コマンドの説明はありません。中身については、Xcode 27で実際に試したDevelopersIOの検証記事(2026年9月30日)が手がかりになります。この記事によると、同じコマンドで出力される claude ディレクトリには、プラグインの定義、XcodeのMCPを登録する .mcp.json、skills/ ディレクトリが入っています。

スキルはXcode 27に同梱されたものです。検証記事は環境変数 CLAUDE_CODE_PLUGIN_DIRS で読み込んでおり、その方法では xcode-integration: という接頭辞が付きました。検証記事の一覧から、日々の開発に近いものを挙げます。

スキル内容
swiftui-specialist内容SwiftUIのベストプラクティスとパフォーマンス
swiftui-whats-new-27内容iOS 27で追加・変更されたSwiftUIのAPI
device-interaction内容実機やシミュレーターを操作して動作を確認する
modernize-tests内容XCTestからSwift Testingへの移行
accessibility-voiceover-specialist内容VoiceOver対応の監査
translation内容String Catalogの文字列の翻訳

検証記事は、この出力先を ~/.zshrc の export CLAUDE_CODE_PLUGIN_DIRS="$(xcrun agent plugin path --plugin-format claude)" で渡す方法で試しています。公式ドキュメントによると、この環境変数のようにセッション限定で読み込んだプラグインが、インストール済みのプラグインと同じ名前だった場合、そのセッションではセッション限定の方が読み込まれ、インストール済みの方は読み込まれません。検証記事と同じ設定を入れている人が xcode を入れても、効いているのは環境変数側です。どちらか一方にそろえてください。

同じ検証記事では、swiftui-whats-new-27 を読み込んだ場合と読み込まない場合で、iOS 27向けのスワイプ削除の実装を比べています。スキルありは swipeActions と swipeActionsContainer() を使った31行、なしは独自実装の160行でした。1回の比較なので傾向の目安ですが、この比較からは、プラグインがMCP接続だけでなく、最新APIの知識を渡す役割も担っていることが見えます。

Xcode 27のリリースノートには、Xcode内のエージェントをスキル・MCPサーバー・ACPエージェント設定を含むプラグインで拡張できるようになり、スキルはスラッシュコマンドとして呼べる、と書かれています。これはXcode内のエージェントの話で、Claude Codeでは、検証記事によると translation-coordinator のように手動では呼べず、エージェントが必要に応じて読み込むスキルもあります。

前提条件と注意点

前提

入れる前の確認事項

  • Xcodeのバージョン

    プラグインの出力元は xcrun agent です。DevelopersIOの検証はXcode 27で行われています。必要な最低バージョンはマーケットプレイスの登録にもAppleの手順書にも書かれていないため、手元で xcrun agent plugin path --plugin-format claude を実行して、パスが1行返るか確かめるのが確実です。

  • macOSのみ

    xcrun はmacOSのコマンドです。加えて、linkモードのプラグインは、Windowsではインストールが拒否されます。

  • Xcode側の許可

    外部エージェントからXcodeを使う場合、Appleの手順書は、Intelligenceの設定で「Allow External Agents to Use Xcode Tools」を「Always」か「While Xcode is Open」にするよう求めています。プラグイン経由でも同じ設定が要るかは書かれていません。接続できないときは、最初にここを見ます。

  • プロジェクトを開いておく

    Appleの手順書は、外部エージェントに頼む前に、対象プロジェクトをXcodeで開いておくよう求めています。

組織で管理しているClaude Codeでは、disableCommandPluginSources を有効にすると、command 型のプラグインを止められます。さらに、管理設定の allowManagedHooksOnly を true にしている場合も、command 型のプラグインは無効になります。disableCommandPluginSources を false と明示すれば例外的に使えるため、許可リストを厳しくしている環境では、管理者への相談が近道です。

既存のMCP登録とどう使い分けるか

Appleの手順書にある方法は、claude mcp add --transport stdio xcode -- xcrun mcpbridge でXcodeのMCPサーバーを登録するものです。手順はXcodeでClaudeを使う方法にまとめています。

プラグインは、MCPの登録に加えてスキルが付いてくる点が違います。逆に、MCPだけを素早く確かめたいとき、あるいは command 型を禁止している環境では、手動登録のほうが通ります。両方を同時に有効にすると、同じXcodeに2つの経路でつながるとみられます。どちらかに寄せて使うと、挙動を追いやすくなります。

追加の経緯と、残る確認点

追加の直前に、検証ツールの側にも手が入っています。PR #7015は、マーケットプレイスの検証アクション validate-plugins を更新し、command-exempt: "xcode" を設定するものです。説明によると、command 型のエントリはコミットSHAがなく、引数のスペースがシェルのメタ文字と見なされ、クローン先のURLもないため、検証が3か所で失敗していました。そこで xcode だけを例外にして、PR #6338が通る状態にしています。

読み取れるのは、公式マーケットプレイスが command 型の掲載を一般に開いたのではなく、xcode を名指しで例外扱いにした、という点です。command 型は、Claude Code側の承認画面でコマンド全文を見せる設計になっています。承認画面に出るコマンドが xcrun agent plugin path --plugin-format claude と一致しているかが、確かめどころです。

今後は、Xcodeのバージョンごとにプラグインの中身がどう変わるか、xcrun agent の仕様がAppleの資料にどう載るかが追う点です。

参照した一次ソース

この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。

  1. github.com/anthropics/claude-plugins-official/pull/6338
  2. github.com/anthropics/claude-plugins-official/pull/7015
  3. github.com/anthropics/claude-plugins-official/blob/main/.claude-plugi…
  4. code.claude.com/docs/en/discover-plugins
  5. code.claude.com/docs/en/plugins/marketplace-reference
  6. developer.apple.com/documentation/xcode/giving-external-agents-access-to-xcode
  7. developer.apple.com/documentation/xcode-release-notes/xcode-27-release-notes
  8. dev.classmethod.jp/articles/xcode-agent-skills-claude-code
この記事を共有:XはてブLinkedIn