Claude Codeでclaude.aiのスキル同期を止める設定
syncClaudeAiSkills・syncClaudeAiPluginsをfalseにすると、claude.aiアカウントで有効なスキルとプラグインの端末同期を止められます。仕組みと1つだけ止める方法をまとめました。
Claude Codeでclaude.aiのスキル同期を止める設定
Claude Codeは、claude.aiアカウントでサインインした端末セッションに、そのアカウントで有効なスキルとプラグインを自動的にダウンロードします。v2.1.275で実装されたこの同期を止めるキーがsyncClaudeAiSkillsとsyncClaudeAiPluginsです。2つは独立していて、スキルだけ・プラグインだけを個別に止めることもできます。
syncClaudeAiSkillsとsyncClaudeAiPluginsが止めること
syncClaudeAiSkillsはスキルの同期、syncClaudeAiPluginsはプラグインの同期をそれぞれ担当します。既定値は未設定で、claude.aiアカウントでサインインしたセッションはスキル・プラグインの両方を同期します。falseを設定すると、その項目のダウンロードが止まり、すでに同期済みのものも読み込まなくなります。trueは未設定と同じ扱いで、既定でオフになっている環境をオンへ戻す効果はありません。
同期が動くのは、Cowork・クラウドセッションと、端末でclaude.aiアカウントを使ってサインインしたセッションです。APIキーやANTHROPIC_AUTH_TOKENなど、/loginによるサインインを使わない認証では同期そのものが起きません。
ユーザー設定への書き方
止めたい範囲に応じて、ユーザー設定ファイル~/.claude/settings.jsonに次のキーを追加します。
{
"syncClaudeAiSkills": false,
"syncClaudeAiPlugins": false
}反映先はユーザー設定・ローカル設定・managed settings(管理設定)と、--settingsフラグで渡すファイルです。プロジェクトの.claude/settings.jsonは対象外です。共有リポジトリのプロジェクト設定でこのキーをfalseにしても、他のメンバーの同期は止まりません。組織全体で止めたい場合は、管理者がmanaged settingsに同じキーを書きます。syncClaudeAiPluginsは、claude.aiのプラグインへのアクセス許可が入ったv2.1.273以降が必要です。claude.ai側でどんなプラグインが有効になるかはClaude.aiのプラグイン機能とはで確認できます。
同期自体はセッションの起動を遅らせません。ダウンロードを待つのはClaudeがそのスキルを実際に呼び出す瞬間だけなので、短い非対話実行は新しく追加されたスキルのダウンロードより先に終わることがあります。逆に非対話セッションで同期を待たせたい場合は、この2つのキーとは別に環境変数CLAUDE_CODE_SYNC_SKILLSを使います。-pフラグの実行でスキルのダウンロード完了を待ってから最初のクエリを走らせる設定で、タイムアウトの調整はCLAUDE_CODE_SYNC_SKILLSのタイムアウト設定にまとめています。プラグインにはCLAUDE_CODE_SYNC_PLUGIN_INSTALLという同種の変数があり、こちらは-p実行でプラグインのインストール完了を待たせます。
スキルとプラグインで同期のタイミングが違う
同じ「同期」でも、スキルとプラグインではClaude Codeの動き方が異なります。
スキルは、端末セッションの開始時に~/.claude/skills/synced/へバックグラウンドでダウンロードされます。そのあとセッションが動いている間は、およそ10分ごとにclaude.ai側の変更をチェックします。追加・編集・オフの変更が見つかると、再起動なしでセッション中に反映されます。同期されたスキル内のファイルをClaudeが書き換えても、その変更はclaude.aiアカウント側には保存されず、次の同期で上書きまたは削除される対象になります。
プラグインは、端末セッションの起動時にバックグラウンドで一度だけ同期します。セッションの実行中に同期が完了して変更が入ると、「Plugins changed. Run /reload-plugins to activate.」という通知が出ます。/reload-pluginsを実行するまで、その変更は反映されません。claude.ai側でプラグインを新しく有効にした場合は、次にClaude Codeを起動したタイミングでダウンロードされます。
Coworkセッションでは、スキルもプラグインもセッションごとにClaude Codeがその環境へダウンロードする形で、端末セッションの10分ポーリングとは別の仕組みです。ここで同期されるスキルは、Claude Code本体に同梱されたバンドルスキル(/code-review等)とは別物で、claude.aiアカウント側で有効・無効を切り替えるスキルです。pdf・xlsxなどAnthropic製の一部は、アカウント側の設定で個別にオフにできず常に同期対象になっています。止めるにはマシン単位のsyncClaudeAiSkills: falseを使うしかありません。
同期したスキルはローカルのスキルと同じ扱いではない
同期を止めるかどうかを判断するうえで、同期されたスキルの実行がローカルのスキルと完全に同じではない点も押さえておく価値があります。Claude Codeは、あなたが書いたのでなくアカウントからダウンロードしたスキルに、追加の制限を課しています。
frontmatterはどのセッションでも通常どおり扱われ、allowed-toolsの許可も普段の権限フローに乗ります。一方で説明文などの表示テキストは、制御文字を取り除き、Claude Code内部の書式を装えないよう山括弧をエスケープするサニタイズが入ります(v2.1.228以降)。
スキル本文の扱いはセッションの種類で変わります。クラウドセッションは隔離コンテナで動くためローカルのスキルと同じ挙動です。デスクトップのCoworkセッションもほぼ同じですが、!から始まるコマンド行だけはdisableSkillShellExecutionのプレースホルダーに置き換わります。それ以外の、あなたのマシン上で動く通常の端末セッションでは制限が強くなります。!コマンドは実行されずそのままの文字列としてClaudeに渡り、@参照によるファイル添付も行われません。${CLAUDE_PROJECT_DIR}・${CLAUDE_SESSION_ID}のプレースホルダーも展開されないまま渡ります(v2.1.228以降)。端末セッションでダウンロードした外部のスキルが、知らないうちにマシン上でシェルコマンドを実行することはありません。
同期を完全に止めるのでなく、実行の許可だけを絞る道もあります。同期されたスキルはanthropic-skillsという専用の名前空間に入ります。Skill(anthropic-skills:pdf)のような権限ルールを書けば、そのスキルだけをプロンプトなしで承認できます。逆にSkill(anthropic-skills *)は同期スキル全体を対象にする書き方です。信頼できる一部だけ許可し、それ以外は都度確認したい場合に使えます。
表示名の扱いも版によって変わってきました。v2.1.269からv2.1.280までは、同期したスキルは常にフルネーム(/anthropic-skills:<name>)でしか一覧に出ませんでした。短い名前がローカルの別コマンドと衝突しない限りそのまま使えるようになったのはv2.1.281からで、それより前のバージョンでは短縮呼び出しができません。
1つだけ止めたいときの選択肢
syncClaudeAiSkills・syncClaudeAiPluginsはいずれもマシン単位で全件を止めるキーです。個別の1件だけを止めたいときの選択肢は、スキルとプラグインで対称ではありません。
| 止めたい範囲 | 方法 |
|---|---|
| 全スキルの同期 | 方法ユーザー設定でsyncClaudeAiSkills: false |
| 全プラグインの同期 | 方法ユーザー設定でsyncClaudeAiPlugins: false |
| プラグイン1件だけ | 方法シェルでclaude plugin disable <name>@synced、またはセッション内/pluginのInstalledタブから無効化 |
| スキル1件だけ | 方法ローカル側に個別のオフ設定はない。claude.aiのスキル設定でそのスキルをオフにする(全マシンに効く) |
| プロジェクトで1件のプラグインだけ常時オフにする | 方法プロジェクトの.claude/settings.jsonに"<name>@synced": falseをコミットする |
| 組織が必須指定したプラグイン | 方法この表の方法では止められない。管理者への相談が必要 |
プラグイン1件だけの無効化は、ユーザーレベルのenabledPluginsに"<name>@synced": falseが書き込まれる形で実装されています。プロジェクトの.claude/settings.jsonにコミットすれば、その環境にいる全員に対してそのプラグインだけを止められます。ただし組織が必須(required)に指定したプラグインは、この方法では無効化できません。claude plugin disableを実行すると「Contact your admin to change it」というメッセージで拒否されます。
名前が衝突しているときは、設定を触らなくても実質的に止まっている場合があります。プロジェクトやユーザーレベルに、claude.ai同期と同じ名前のプラグインをすでに持っていると、Claude Codeはローカル側を読み込み、同期版は「読み込まれなかった」ものとして扱われます。
そもそも同期が動いていない条件
syncClaudeAiSkills・syncClaudeAiPluginsを設定しなくても、次のセッションでは同期そのものが起きません。
- APIキー認証、または
ANTHROPIC_AUTH_TOKEN・CLAUDE_CODE_OAUTH_TOKEN・apiKeyHelperスクリプトで資格情報を渡すセッション(/loginによるサインインを使っていない) - Amazon Bedrockなど、Anthropicへの機能フラグ取得を行わないセッション。
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICを設定した場合も同じ - bareモード、または
--safe-modeで起動したセッション - 組織のmanaged settingsが
strictPluginOnlyCustomization: ["skills"]でスキルの取得元をプラグイン・管理ソースに限定している場合 --setting-sourcesフラグでuserを含まないリストを指定したセッション
/loginでサインインし直した場合、同期を始めるにはセッションの再起動が必要です。
オフにしても同期済みのファイルは即消えない
syncClaudeAiSkills・syncClaudeAiPluginsをユーザー設定またはmanaged settingsでfalseにすると、ダウンロード済みのスキル・プラグインは削除されません。Claude Codeはそれらを~/.claude/skills/.trash/・~/.claude/plugins/.trash/へ移動するだけなので、設定を元に戻す前でも中身を確認できます。
この.trash/は、保持期間の自動削除の対象です。削除までの日数は設定キーcleanupPeriodDaysが決め、既定値は30日、指定できる最小値は1日です。組織がclaude.ai側でスキルやプラグインの提供自体をオフにした場合も同じ経路でダウンロード済みファイルが.trash/へ移動し、再度オンに戻すと次の同期でまたダウンロードされます。
逆に、まだfalseにしていない状態では、以前の同期でダウンロード済みのスキルはclaude.aiに接続できない状況でも読み込まれ続けます。また、自作のスキルにsyncedという名前(大文字小文字を問わず)を付けると、個人・プロジェクト・エンタープライズどの置き場所でも読み込まれません。この名前はアカウント同期のダウンロード先として予約されています。
まとめ
syncClaudeAiSkills: falseとsyncClaudeAiPlugins: falseは、それぞれスキルとプラグインの端末同期を独立して止めるユーザー設定です。全件停止はこの2キーで行い、プラグインの1件だけを止めたいときはclaude plugin disable <name>@syncedでenabledPluginsに書き込みます。スキルの1件だけを止める手段はローカル側になく、claude.aiのアカウント設定を変える必要があります。同期を止めるとダウンロード済みのファイルは.trash/へ移動しますが、cleanupPeriodDays(既定30日)が過ぎるまでは残ります。設定変更の前後で挙動を確かめてから、運用に組み込めます。