Claude Code 2.1.119:設定の永続化、マルチプラットフォーム対応強化、50件超のバグ修正

anthropics/claude-code

Claude Code 2.1.119は、/config設定の永続化やGitLab・Bitbucket対応の拡張など、実運用上の痛点を解消する機能追加と、50件を超えるバグ修正を含む大規模リリースです。

背景

このリリースは、日常的なワークフローで顕在化していた複数の問題を一括して解消することを目的としています。設定が再起動後に失われる問題、GitHubに限定されていたPR連携、Windows環境でのPowerShell対応の欠如、そしてVim modeやUI周りの細かな挙動の不整合など、幅広い層のユーザーから報告されていた課題が対象となっています。

技術的な変更

設定の永続化とオーバーライド体系への統合

/configで変更したテーマ・エディタモード・verboseなどの設定が、再起動後も保持されるようになりました。変更後の設定は ~/.claude/settings.json に書き込まれ、既存のproject/local/policyのオーバーライド優先順位体系に参加します。これにより、ユーザー固有の設定をプロジェクト設定やポリシー設定で上書きするといった運用が、/config経由の設定でも一貫して機能します。

合わせて、prUrlTemplate 設定が追加され、フッターのPRバッジのリンク先をGitHub以外のカスタムコードレビューURLに変更できるようになりました。また、CLAUDE_CODE_HIDE_CWD 環境変数を設定することで、起動ロゴに表示される作業ディレクトリを非表示にできます。

マルチプラットフォーム・マルチホスティング対応の拡張

--from-pr フラグが、GitLab Merge Request、Bitbucket Pull Request、GitHub Enterprise のURLを受け付けるようになりました。これまでGitHub.comのみに限定されていた制約が解消され、複数のホスティングサービスを併用する環境での活用が広がります。

同様に、出力中の owner/repo#N 形式の短縮リンクが、常にgithub.comを指すのではなく、設定されているgit remoteのホストを参照するよう変更されました。GitLab上のリポジトリでも正しいURLが生成されます。

PowerShell のツールコマンドが自動承認の対象になりました。これまでBashツールにのみ適用されていたpermission modeでの自動承認がPowerShellにも拡張され、Windows環境での操作性が向上します。

エージェント・サブエージェントの動作改善

--print モードが、エージェント定義の tools: および disallowedTools: フロントマターを尊重するようになりました。インタラクティブモードとの動作の一貫性が保たれます。

--agent <name> でビルトインエージェントを指定した場合、そのエージェント定義に含まれる permissionMode が適用されるようになりました。

サブエージェントおよびSDKのMCPサーバー再設定時、サーバーへの接続が直列から 並列 に変更されました。複数のMCPサーバーを扱う環境での初期化時間が短縮されます。

Hooksの拡張とOpenTelemetryの強化

PostToolUse および PostToolUseFailure フックの入力に duration_ms フィールドが追加されました。この値はツールの実行時間を表し、パーミッションプロンプトやPreToolUseフックの時間は含まれません。ツールのパフォーマンス計測やオブザーバビリティの強化に利用できます。

OpenTelemetryでは、tool_result および tool_decision イベントに tool_use_id が含まれるようになり、tool_result にはさらに tool_input_size_bytes も追加されました。トレースのコリレーションと詳細な分析が可能になります。

ステータスラインのstdin JSONには effort.levelthinking.enabled が追加されました。

プラグイン管理の改善

別のプラグインのバージョン制約によってバージョンが固定されているプラグインが、制約を満たす最新のgitタグに自動更新されるようになりました。また、${user_config.*} で参照するオプションフィールドが空白の場合にMCPサーバーが失敗する問題も修正されています。

UIとエディタの修正

Vim modeでは、INSERT状態でEscキーを押してもキューに入っているメッセージが入力欄に戻らなくなりました。メッセージを中断するには、Escをもう一度押す必要があります。

スラッシュコマンドの候補表示が改善されました。クエリにマッチした文字がハイライト表示されるようになり、長い説明文が切り捨てられる代わりに2行目に折り返して表示されます。

セキュリティ修正

blockedMarketplaceshostPattern および pathPattern エントリが正しく強制されるようになりました。これまでこれらのパターンが適切に評価されていなかったため、意図したブロックが機能していないケースがありました。

主なバグ修正一覧

UI・操作性に関するもの:

  • CRLF内容(WindowsクリップボードやXcodeコンソール)をペーストした際に各行間に余分な空行が挿入される問題
  • kittyキーボードプロトコルを使用するターミナルでのブラケットペースト中に改行が失われる問題
  • フルスクリーンモードでスクロールアップするとツール完了のたびに最下部に戻る問題
  • @ファイルのTab補完が、スラッシュコマンド内で絶対パスを使用した場合にプロンプト全体を置換する問題
  • macOS Terminal.appにDockerまたはSSH経由で接続した場合、起動時にプロンプトに余分なp文字が表示される問題
  • /skillsのEnterキーがダイアログを閉じる代わりに/<skill-name>を事前入力する問題
  • /agentsの詳細ビューでサブエージェントが利用できないビルトインツールを「Unrecognized」と誤表示する問題
  • /exportが実際に使用したモデルではなく現在のデフォルトモデルを表示する問題
  • /usageのプログレスバーが「Resets …」ラベルに重なる問題
  • リスト項目内の文末数字が単独で次の行に折り返される問題
  • /plan/plan openが既存のプランに対して動作しない問題

MCP・インフラに関するもの:

  • MCP HTTP接続でOAuthディスカバリリクエストへの非JSONレスポンスを受信した際に「Invalid OAuth error response」が発生する問題
  • --client-secretで保存したMCP OAuthクライアントシークレットがclient_secret_postを必要とするサーバーへのトークン交換で送信されない問題
  • HTTP/SSE/WebSocket MCPサーバーのheaders内の${ENV_VAR}プレースホルダーがリクエスト前に置換されない問題
  • プラグインキャッシュが不完全な場合にWindowsでプラグインのMCPサーバーが起動しない問題
  • 非同期PostToolUseフックがレスポンスペイロードを返さない場合にセッショントランスクリプトに空エントリが書き込まれる問題

エージェント動作に関するもの:

  • Glob・GrepツールがBashツールをパーミッションで拒否した際にmacOS/Linuxネイティブビルドで消える問題
  • auto modeがplan modeを「Execute immediately」という矛盾する指示で上書きする問題
  • サブエージェントタスク通知がキューで孤立した際にスピナーが残り続ける問題
  • auto compactionより前に呼び出されたスキルが次のユーザーメッセージに対して再実行される問題
  • isolation: "worktree" を持つAgentツールが過去のセッションの古いworktreeを再利用する問題
  • 無効なMCPサーバーが/statusで「failed」と表示される問題
  • TaskListがIDでソートされず任意のファイルシステム順でタスクを返す問題
  • Rewindオーバーレイが画像添付のあるメッセージに「(no prompt)」と表示する問題
  • Vertex AIでツール検索がデフォルト無効に(未サポートのbetaヘッダーエラー回避。ENABLE_TOOL_SEARCHでオプトイン可)
  • /reload-plugins/doctorが無効化されたプラグインのロードエラーを報告する問題
  • verboseの出力設定が再起動後に保持されない問題

まとめ

Claude Code 2.1.119は、設定の永続化をフレームワークのオーバーライド体系に統合し、GitLab・Bitbucket対応でプラットフォームの壁を下げながら、実運用で踏まれていた多数のバグを包括的に解消したリリースです。機能追加とバグ修正の両面でユーザー体験の底上げが図られており、特にMCP周りやエージェント動作の信頼性が大幅に改善されています。

記事メタデータ

Generated by:
Claude Sonnet 4.6 for DiffDaily
LLM Trace:
b86196af

この記事はAIによって自動生成されています。内容の正確性については、必ずソースコードやPRを確認してください。

品質レビュー結果

Review Status:
承認済み
Review Count:
1回
Reviewed by:
Gemini 2.5 Pro for DiffDaily

Review Criteria:

記事構成 ✓ PASS

Title, Context, Technical Detailの存在と明確さ

「総論→各論→結論」の構成が明確です。リード文で記事の要旨を、背景セクションで変更の必要性を、技術的な変更セクションで具体的な内容を、まとめセクションでリリース全体の意義を述べており、模範的な構成です。

カスタムMarkdown構文 ✓ PASS

シンタックスハイライト・GitHubリンク記法の正確性

コミットIDが短縮形で正しくリンク化されています。ファイルパスなどの固有名詞は太字で強調されており、可読性が高いです。カスタムMarkdown構文の誤用はありません。

対象読者への適合性 ✓ PASS

エンジニア向けの適切な技術レベルと表現

`/config`設定、各種フラグ、Vim mode、OpenTelemetryなど、専門知識を持つエンジニアを対象とした内容であり、過度な初心者向け解説がなく、対象読者に完全に適合しています。

パラグラフ・ライティング ✓ PASS

トピックセンテンス・1段落1トピック・段落長

各セクション、各パラグラフが総論から各論へと展開されており、非常に構造化されています。各段落はトピックセンテンスで始まり、1段落1トピックの原則が守られているため、高い可読性を実現しています。

Diff内容との照合 ✓ PASS

コードブロックとDiff内容の一致

記事で言及されている設定名、フラグ、環境変数、フック名などの技術的な固有名詞は、すべて提供されたCHANGELOGのDiffと正確に一致しています。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

「オーバーライド」「マルチプラットフォーム」「オブザーバビリティ」など、文脈に適した技術用語が正確に使用されています。CHANGELOG内の専門用語も正しく反映されています。

説明の技術的正確性 ✓ PASS

技術的主張の正確性と論理性

「設定の永続化がオーバーライド体系に統合された点」や「サーバー接続が並列化された点」など、すべての技術的な説明がCHANGELOGの内容と完全に一致しており、正確です。

事実の突合 ✓ PASS

PR情報による主張の裏付け(ハルシネーション検出)

記事のすべての主張は、提供されたCHANGELOGのDiffによって裏付けられています。「50件超のバグ修正」という表現も、Diffの内容を鑑みると妥当な要約です。ハルシネーションは一切ありません。

数値・固有名詞の確認 ✓ PASS

PR番号・コミットID・バージョン等の正確性

バージョン番号「2.1.119」やコミットID「ab3ce06」など、記事内の数値や固有名詞はすべて正確です。

タイトル・説明との一致 ✓ PASS

記事タイトル・説明とPR内容の一致

記事のタイトルは、CHANGELOGに記載されたリリース内容のハイライト(設定の永続化、マルチプラットフォーム対応、バグ修正)を的確に捉えており、内容と完全に一致しています。

外部知識の正確性 ✓ PASS

PRに記載のない外部知識(LTS、サポート状況など)の不使用

記事の内容はすべて提供されたCHANGELOGの情報に基づいており、サポート状況やリリース予定といったPR外の知識の追加は見られません。

時間表現の正確性 ✓ PASS

時間表現がPR情報と一致しているか

「〜ようになりました」「〜変更されました」といった表現が使われており、CHANGELOGに記載された変更が既に完了したものであることを正確に伝えています。時間表現の歪曲はありません。