Claude Media
Claude Code v2.1.287 — Claude Modsの導入と1Mコンテキスト既定化

Claude Code v2.1.287 — Claude Modsの導入と1Mコンテキスト既定化

Claude Code v2.1.287は、プラグインが内部挙動まで変えられるClaude Modsの追加、Bedrock・Vertexでの1Mコンテキスト既定化、MCPのURLプロンプト対応が中心です。

このリリースで何ができるようになるか

Claude Code v2.1.287は、プラグインの能力を広げるClaude Modsの追加と、クラウド経由で使うときの既定値の変更が軸です。項目は100件前後と多いものの、更新前に知っておきたいのは次の3点です。

  • プラグインが画面描画やツール呼び出しの手前まで介入できる: Claude Modsと、組み込みのmod You should knowが加わりました
  • Bedrock・Vertex・Foundry・Claude appsゲートウェイで、Opus 4.7以降とFableが1Mコンテキストウィンドウを既定で使う: [1m]接尾辞は不要になりました
  • MCPサーバーからのURLプロンプト(サインイン画面への誘導など)を受けられる: 接続できなくなったサーバーには設定の追加が要ります

残りの大半は修正です。スクリーンリーダーモードの不具合が8件まとまって直り、Remote Controlやクラウドセッションのファイル送信も手当てされています。

あなたの開発フローはどう変わるか

プラグインを作る人・入れる人

Claude Modsは、プラグインがClaude Codeの内部挙動まで変えられるようにする仕組みです。公式docsでは、modを「JavaScriptまたはTypeScriptのイベントハンドラーで構成されるプラグイン」と説明しています。ツール呼び出しやプロンプト送信、画面の一部の描画といったイベントが起きると、Claude Codeがそのハンドラーを呼びます。

settings.jsonに書くhookはシェルコマンドやHTTPリクエストとして外から動きます。modのハンドラーはClaude Codeの内側で動く関数です。そのため、transcriptの横にペインを出す、プロンプト上にバンドを出す、ツール呼び出しを止めてユーザーに質問する、といった介入ができます。

導入は通常のプラグインと同じ経路です。

claude plugin install token-chart@your-org

セッション中に別のシェルから入れたときは、/reload-pluginsで読み込み直します。modは「あなたの権限で動くコード」です。ファイルの読み書き、プロセスの起動、ネットワーク通信、環境変数やAPIキーの参照、セッション中の全プロンプトとツール呼び出しの閲覧ができます。信頼できる作者とマーケットプレイスのものだけを入れるのが前提になります。

動く場所にも差があります。フックはほとんどのセッションで走りますが、ペインなどの描画が出るのはターミナルとDesktopアプリのCodeタブだけです。VS Code拡張のチャットパネルやclaude -pでは、ハンドラーは動いても描画は出ません。プラグインの基本操作はClaude Code plugin init/installコマンドの全オプションで扱っています。

長いタスクを任せる人

You should knowは、Claude Codeに最初から入っている組み込みのmodです。Claudeが作業する間、横で別のエージェントが見張り、見落としそうな点を見つけるとプロンプトの上にメモを出します。

既定では無効です。有効にするコマンドは次のとおりです。

/plugin enable cc-plugin-you-should-know@builtin

changelogは、対象を「テレメトリが有効なファーストパーティのセッション」と書いています。既定で無効なので、/pluginの「Installed」で「Show disabled」を開くと表示されます(組織で利用可能な場合)。You should knowは更新も削除もできません。disableAllHooks・--bare・--safe-modeでも組み込みmodは止まらないので、止めるときは/pluginで無効にします。

複数セッションをclaude agentsで回している人

agentsビューにn:<text>フィルターが入りました。セッション名とタスクの両方に一致します。

  • フィルターは折りたたまれたセクションの中の一致も表示する
  • Enterで最初の一致を開く

あわせて、claude agentsからの返信は「キューに入るメッセージ」として届く形に変わりました。ターンの実行中に送った/stop以外のスラッシュコマンドは、ターンが終わってから実行されます。バックグラウンドセッションの修正も2件あります。エージェントがワークツリーごと終了した後にclaude agentsから開き直せない問題と、許可プロンプトが表示されないことがある問題です。ビューの基本はClaude Codeのagent viewにまとまっています。

Bedrock・Vertex・Foundryで使っている人

Opus 4.7以降とFableが、Bedrock、Vertex、Foundry、Claude appsゲートウェイで既定の1Mコンテキストウィンドウになりました。[1m]の接尾辞は要りません。200Kに留めたいときはCLAUDE_CODE_DISABLE_1M_CONTEXT=1を設定します。

export CLAUDE_CODE_DISABLE_1M_CONTEXT=1
claude

トークン消費の上限を意識して運用していたチームは、既定値が変わったことで挙動が変わります。コンテキストの上限が伸びるぶん、長いセッションの消費も増えうる構成です。

Bedrockまわりの主な修正は次の3件です。強制したavailableModelsをBedrockとVertexの起動時チェックが無視し、/modelの一覧がOpus 1行に縮む問題。Guardrailsのブロックが思考から始まる応答の途中に届くと、ガードレールのメッセージではなくAPIエラーでターンが終わる問題。CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASが、セッションタイトルとプロンプトhookのリクエストから構造化出力の形式を外さず、Bedrock系ゲートウェイに拒否される問題です。モデルの絞り込み設定はmodelPickerでの組織向け構成が参考になります。

MCPサーバーを運用している人

MCPサーバーからのURLプロンプトに対応しました。2025-11-25プロトコルのサーバーが、サインインなどのためにURLを提示できます。

この更新の後でサーバーが接続できなくなった場合は、そのサーバーのMCP設定エントリに"bareElicitationCapability": trueを足します。

{
  "mcpServers": {
    "example": {
      "type": "http",
      "url": "https://mcp.example.com/mcp",
      "bareElicitationCapability": true
    }
  }
}

上は設定の置き場所を示す例です。キー名と値はchangelogの記載どおりで、urlなどの値はダミーです。

もう1つ、alwaysLoad: falseの意味が変わりました。そのサーバーの全ツールがツール検索の後ろに回ります。大きなMCP結果の扱いも改善され、メモリ使用量とセッションファイルが小さくなり、上限を大きく超える結果ではトークン計数のための追加アップロードも不要になりました。

許可と安全まわりの変更

  • rmで/やホームディレクトリを消すような危険なコマンドが、同じコマンドで~やワイルドカードのパスへ出力をリダイレクトすると、常に確認する保護を失っていた問題を修正
  • リポジトリにコミットされたシンボリックリンクを通して、機密ファイルや作業ツリーの外に書き込むシェル操作は、書き込み先を示して人の判断を待つようになった。~を含む行でも同様
  • ツール全体を許可するBashのallowルールとallowするhookは、Claude Codeのファイルツールが拒否するファイル(Anthropicのプロファイルストア、ホストの資格情報ファイル)への書き込みで確認を出す
  • 待機中の許可プロンプトは古い順に表示される。カウントダウン付きのプロンプトは従来どおり手前に開く
  • MCPなどのツール許可プロンプトが、ファイル編集プロンプトと同じく破線の間にツール呼び出しを表示する

Bashの許可プロンプトに内部のパーサー名(Contains simple_expansionなど)が出ていた問題も、平易な説明に直りました。

スクリーンリーダーモードを使っている人

スクリーンリーダーモード関連では8件の修正と1件の挙動変更が入りました。検索ボックスやサインインコード欄でカーソルが入力文字から離れる問題、/rewindの要約オプションで何も入力せずEnterが通らない問題、効かないTabの「Tab to amend」ヒント、変更行が読み上げに含まれない問題などです。

挙動の変更が1つあります。新規行・変更行を書く前の一時停止が既定で無くなりました。以前の既定は50ミリ秒です。戻したいときは次のようにします。

export CLAUDE_AX_PREPARK_MS=50

この変数の詳細はCLAUDE_AX_PREPARK_MSの解説、モード全体の設定はスクリーンリーダー対応ガイドにあります。

リモート実行・クラウドセッションを使っている人

Remote Controlやクラウドセッションは、修正の件数が最も多い領域です。

症状変更後
再接続要求に応答がなく、数分メッセージが届かない変更後30秒で諦めて再試行する
Claudeが送るファイルのアップロードが、30秒のタイムアウト直後に終わると失敗する変更後35秒まで待つ。タイムアウト・ネットワークエラー・502/503/504は1回再試行する
8,000ピクセルを超えるPNG・JPEG・WebPがリモートセッションで送れない変更後縮小したコピーを送る
Claudeアプリから17〜20個のファイルを添付すると、最初の16個しか届かない変更後修正された
macOSでclaude remote-controlのセッションが、Macのアイドルスリープでターンの途中で止まる変更後修正された
HTTPプロキシの背後でclaude remote-controlの登録が、誤解を招く「Check your organization permissions」エラーで失敗する変更後修正された

大きなファイルはディスクからストリーミング送信になり、サイズ上限を超えるファイルはサーバー側の上限値を示して拒否されます。一時的な理由で送れなかったときは、数分後にもう一度頼めると案内されます。

Remote Controlの無効化設定はRemote Controlの無効化と既定で有効になる経緯で扱っています。

主な変更点

追加

  • Claude Mods(プラグインが内部挙動まで変更可能に)
  • 組み込みmod You should know
  • agentsビューのn:<text>フィルター
  • OpenTelemetryのuser_promptイベントにprompt_textを追加。promptのコピーで、ドット区切りのキーを入れ子にするバックエンド向け。promptをマスクまたは除外している箇所では、prompt_textも同じ扱いにする必要がある
  • MCPのURLプロンプト対応
  • Windows: Bashツールをdenyすると、PowerShellツールも無効になりシェルツールが無くなる場合に、起動時に警告を出す
  • セルフホステッドランナー: GitHub CLIが入っていないmacOS・Linuxで、Anthropic管理のgitを使うセッション向けに組み込みのgh api(RESTのみ)

変更

  • 1Mコンテキストの既定化(上記)
  • claude agentsからの返信をキュー扱いにする
  • 右クリック貼り付け(Windows・Linux)と中クリック貼り付け(Linux)は、ボタンを離した時点で実行。離す前にポインターを外すとキャンセルされる
  • フラグが立ったメッセージの後で自動的にモデルが切り替わるとき、新しいモデルの既定ではなく現在のエフォートレベルを保つ
  • /skill名をメッセージの途中に打ったとき、disable-model-invocationのスキルを含めて、スキルであることをClaudeに伝える
  • /config: 循環する設定が‹ ›で表示され、←/→で両方向に動く。狭い端末では値がラベルの下に積まれ、PgUp/PgDnでスクロールする
  • /memory: Auto-memoryなどのオン/オフが左右キーで切り替わる
  • プラグイン: マーケットプレイスのエラーが、無視・拒否された理由と対処を平易に説明する。依存関係が入っていないプラグインは一覧に注記され、更新時に未完了のインストールを再試行する
  • 軽量化: Windowsでは各コマンドの前に走っていたサブシェルを外し、Bashツールが速くなった

修正(主なもの)

  • ファスト・モード: ユーザーアカウントを持たないエージェントが所有するリモートセッションで、組織が許可していてもオフのままだった問題
  • --include-partial-messagesで、途中で切れた応答のmessage_stopが遅れる・来ない問題
  • claude -pとSDKセッションで、応答中にモデルを切り替えるとフォールバックが以降のメッセージごとに繰り返される問題
  • フォルダのCLAUDE.mdが、セッション再開や圧縮の後に2回添付される問題
  • Opus 5.5とSonnet 5.5の切り替え(/model、opusplan)で、以前のMCPツール告知が書き換わり、拡張思考が落ちる場合がある問題
  • /advisorの組み合わせ検査: Sonnet 5.5がOpus 4.7と4.8のアドバイザーになれるようになり、APIが拒否するアドバイザーは黙って捨てずに先に警告する
  • 失効したclaude.aiのログインが、汎用のAPI Error: 401ではなく「OAuth token revoked」と出る。-pモードでは「Failed to authenticate」で始まる
  • /feedbackと/bug: 事前入力されるGitHub issueに直近のエラーメッセージを含めない。確認画面では報告の一部として一覧に出す
  • claude plugin marketplace add --sparseとgit-subdirのプラグインが、プレーンなhttpのリポジトリで「transport 'http' not allowed」になる問題
  • SessionStart hookが、同期されたプラグインから新しいクラウドセッションで動かない問題
  • asyncRewakeのhookのスクリプトファイルが無いとき、「found issues」通知でClaudeを繰り返し起こす問題。壊れたhookは1回だけ報告される
  • MCPコネクターのツール呼び出しが、サーバーの対応プロトコルバージョンの変更時に2回実行される、または再起動まで失敗する問題

VS Code拡張にも、バックグラウンドで実行する操作の追加があります。実行中のコマンドやサブエージェントに「Run in background」が付き、バックグラウンドシェルとMonitorの出力がエージェントマップのカードに出ます。Claude in Chromeの「Enabled by default」スイッチは、エディター自身のセッションにも接続を広げます。ブラウザ操作の前に確認を求める点は変わりません。

Claude TagとCode Reviewにも修正があります。Claude Tagでは、バックグラウンドのイベントで起きたClaudeが、誰も返信を待っていないSlackスレッドに失敗警告(利用上限の通知など)を投稿する問題を直しました。Code Reviewでは、直前のコミットでレビューが2回失敗していると新しいpushの後にスキップされる問題を直し、最新のコミットをレビューします。会話がロックされたPRで失敗したときは、ロックが原因で、何も投稿・課金されていないことをカードが示します。

直近のバージョンとの比較

バージョン中心の変更
v2.1.284中心の変更Sonnet 5.5対応、auto modeの既定化、Ultracodeの独立
v2.1.285中心の変更allowedProvidersとプラグイン設定CLIの追加
v2.1.286中心の変更許可プロンプトの件数表示、モデル拒否時のフォールバック、--bareの変更
v2.1.287中心の変更Claude Mods、1Mコンテキストの既定化(クラウド経由)、MCPのURLプロンプト

Claude Modsは、hookとプラグインの境目をどう動かすか

v2.1.285でプラグイン設定のCLIが整い、v2.1.287でプラグインが画面と内部挙動まで届く。2つのリリースは、プラグインを「配布できる拡張の単位」にそろえる方向に並んでいます。

modの導入で変わるのは、プラグインの中身の幅です。これまでは、スキル、settingsのhook、MCPサーバーのように、Claude Codeの外から動くものの束でした。modはその内側で動くため、組み込みの/diffのペインやAGENTS.mdの読み込みが、すでにmodとして実装されています。公式docsは、diff、agents-md、sec-default、telemetryの4つのソースをリポジトリのmodsディレクトリで公開しています。

modが強力な分、導入の判断は「機能が欲しいか」でなく「権限を渡せるか」の問いになります。settingsのhookなら中身を読めば挙動が決まりますが、modは全プロンプトと全ツール呼び出しが見えるコードです。組織で配るなら、管理設定側で順序を決める運用(cc-plugin-sec-defaultが守る領域)が前提になります。

まとめ

今回のv2.1.287は、プラグインを作る人、BedrockやVertexで使う人、MCPサーバーを運用する人に効くリリースです。

  • プラグイン開発者は、Claude Modsで画面とツール呼び出しへ介入できる。導入は信頼できる配布元に限る
  • クラウド経由のチームは、1Mコンテキストが既定になる。200Kを保つならCLAUDE_CODE_DISABLE_1M_CONTEXT=1
  • MCPサーバーが更新後に接続できなくなったら、bareElicitationCapabilityを足す
  • OpenTelemetryでpromptをマスクしているなら、prompt_textも同じ扱いにする
  • Remote Controlとクラウドセッションは、再接続とファイル送信まわりの修正が多い

上記以外のユーザーにとっては、日常の挙動はほとんど変わりません。

関連ガイド

このバージョン単体の位置づけや前後の版とのつながりは、Claude Codeの基礎ガイドでまとめて確認できます。

この記事を共有:XはてブLinkedIn