Claude Code 2.1.119:設定の永続化、マルチプラットフォーム対応強化、50件超のバグ修正
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.level と thinking.enabled が追加されました。
プラグイン管理の改善
別のプラグインのバージョン制約によってバージョンが固定されているプラグインが、制約を満たす最新のgitタグに自動更新されるようになりました。また、${user_config.*} で参照するオプションフィールドが空白の場合にMCPサーバーが失敗する問題も修正されています。
UIとエディタの修正
Vim modeでは、INSERT状態でEscキーを押してもキューに入っているメッセージが入力欄に戻らなくなりました。メッセージを中断するには、Escをもう一度押す必要があります。
スラッシュコマンドの候補表示が改善されました。クエリにマッチした文字がハイライト表示されるようになり、長い説明文が切り捨てられる代わりに2行目に折り返して表示されます。
セキュリティ修正
blockedMarketplaces の hostPattern および 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周りやエージェント動作の信頼性が大幅に改善されています。