Claude Code 2.1.139:エージェントビュー・ゴール管理・多数のバグ修正

anthropics/claude-code

Claude Code 2.1.139では、複数セッションを一覧管理する エージェントビュー(Research Preview)と /goal コマンドによる条件達成型の継続実行機能が追加され、フックやMCPまわりの設計が大幅に強化された。加えて、40件近くのバグ修正が含まれるメジャーなメンテナンスリリースである。

背景

Claude Codeはサブエージェントによる並列セッション実行やMCP(Model Context Protocol)連携を強化してきたが、セッション数が増えるにつれて「どのセッションが動いているか」「どこで人間の操作待ちになっているか」を把握する手段が不足していた。また、複数ターンにわたる長期タスクを完了条件なしに継続させるには、ユーザーが手動で進捗を管理する必要があった。本リリースはこれらのUX課題を解消しつつ、フックの実行モデルとMCPの信頼性を改善している。

技術的な変更

エージェントビューと /goal コマンド

新設された claude agents コマンドは、実行中・ブロック中・完了済みのすべてのClaude Codeセッションを単一リストで表示する(詳細は 公式ドキュメント)。これにより、サブエージェントが増加した環境でもセッション状態を俯瞰できるようになった。

/goal コマンドは完了条件を設定し、その条件が満たされるまでClaude Codeが自律的にターンをまたいで作業を継続する機能である。インタラクティブモード・-p フラグ・Remote Controlのすべてで動作し、経過時間・ターン数・トークン数をオーバーレイパネルでリアルタイム表示する。

フック実行モデルの変更

フックに args: string[] フィールド(exec形式)が追加され、シェルを介さずにコマンドを直接生成できるようになった。これにより、パスのプレースホルダーをクォートする必要がなくなり、シェルインジェクションのリスクが低減される。

continueOnBlock 設定オプションが PostToolUse フックに追加された。true に設定すると、フックがブロックした理由をClaudeにフィードバックしてターンを継続できる。これまでフックによるブロックはターンを完全に止める動作だったが、この設定によりソフトなリジェクションが可能になる。

また、フックが端末に書き込むことでインタラクティブプロンプトが破損するバグが修正され、フックは端末アクセスなしで実行されるよう変更された。

MCP関連の改善

MCP stdioサーバーが環境変数 CLAUDE_PROJECT_DIR を受け取れるようになり、フックと動作が統一された。プラグイン設定でも ${CLAUDE_PROJECT_DIR} を参照できる。

/mcp Reconnect.mcp.json の編集を再起動なしに反映するようになり、再接続失敗時にはHTTPステータスとURLを表示するようになった。また、HTTP/SSE MCPサーバーが非プロトコルデータをストリームする際のメモリ無制限成長が修正され、SSEフレームあたり 16 MB の上限が設けられた。

Remote MCPサーバーの一時的な障害に対する再接続リトライが全ユーザーに対して有効化された。

サブエージェントのトレーサビリティ

サブエージェントからのAPIリクエストに x-claude-code-agent-id / x-claude-code-parent-agent-id ヘッダーが付与されるようになった。OpenTelemetryのスパン claude_code.llm_request にも agent_id / parent_agent_id 属性が追加され、分散トレーシング環境でのエージェント追跡が可能になった。

セキュリティと認証

ANTHROPIC_API_KEY / apiKeyHelper / ANTHROPIC_AUTH_TOKEN が設定されている場合、Remote Control・/schedule・claude.ai MCPコネクター・通知設定が無効化されるようになった。Claude.aiログインと併用している環境でも、APIキーが優先されるこれらの機能を使うにはAPIキーの設定を解除する必要がある。期限切れ認証情報と forceRemoteSettingsRefresh ポリシーが重なって claude auth login/logout/status が回復不能になるデッドロックも修正された。

その他の主なバグ修正

今回のリリースには多岐にわたるバグ修正が含まれる:

  • autoAllowBashIfSandboxed$VAR$(cmd) などのシェル展開を含むコマンドを自動承認しない問題を修正
  • Skill(name *) のワイルドカード形式がプレフィックスマッチとして機能しない問題を修正(Bash(ls *) と同一動作に統一)
  • シンボリックリンクの ~/.claude/settings.json への編集がホットリロードで検出されない問題を修正
  • Windows TerminalおよびVS Code 1.92〜1.104でのマウスホイールスクロール速度の問題を修正(マウスホイール約3行/ノッチを維持)
  • CJK・絵文字の視覚セル幅誤計算によるボーダー内テキストのオーバーフローを修正
  • サロゲートペアや上位面(astral-plane)文字をファジーマッチのハイライトが途中で分割する問題を修正

設計判断

フックのexec形式採用 は、シェルを介した文字列連結によるコマンド実行の脆弱性を根本から排除する設計判断である。args: string[] で引数を配列として渡すことで、パス中のスペースや特殊文字をエスケープする責任をユーザーから取り除いている。

continueOnBlock の導入は、フックを「ゲートキーパー」から「アドバイザー」として使うユースケースを明示的にサポートするものだ。従来の強制停止から、理由付き継続という選択肢を加えることで、フックの表現力が高まっている。

APIキーとClaude.aiログインの共存時にAPIキー側の機能を制限する設計は、認証方式の混在による予期しない動作を防ぐための明示的な選択である。ユーザーに「どちらの認証を使っているか」を意識させることで、設定の一貫性を強制する。

まとめ

Claude Code 2.1.139は、マルチエージェント運用・フック実行モデル・MCP信頼性という3つの軸で設計を前進させたリリースである。エージェントビューと /goal コマンドによって長期・並列タスクの管理が体系化され、フックのexec形式と continueOnBlock によって人間とエージェントの制御フローがより細かく調整できるようになった。

記事メタデータ

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

この記事は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

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

フック、MCP、サブエージェント等の専門用語が適切に使用されており、専門知識を持つエンジニアという対象読者に完全に適合しています。

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

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

各セクション、各パラグラフが「総論→各論」の構造で書かれています。また、各段落はトピックセンテンスで始まり、1段落1トピックが守られており、非常に読みやすいです。

Diff内容との照合 ✓ PASS

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

記事内で言及されているコマンド名や設定値は、すべて提供されたCHANGELOGのDiff内容と一致しています。Diffの内容を正確に反映しています。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

「シェルインジェクション」「SSEフレーム」「OpenTelemetry」など、技術用語が正確かつ文脈に即して使用されています。

説明の技術的正確性 ✓ PASS

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

フックのexec形式採用の利点や、`continueOnBlock`の役割など、技術的な変更点に関する説明は正確かつ論理的です。

事実の突合 ⚠ WARNING

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

「背景」セクションで述べられている課題(セッション管理の煩雑化、長期タスクの手動管理)は、CHANGELOGに直接記載されていません。これらは追加機能の目的から導かれる妥当な推測ですが、厳密にはPR情報に基づかない「理由の創作」に該当するため警告とします。

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

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

バージョン番号「2.1.139」、コミットID「fdfbc06」、メモリ上限「16 MB」など、すべての数値・固有名詞は正確です。

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

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

記事のタイトルは、PRの変更内容(CHANGELOGの更新)の核心であるバージョン2.1.139の主要な変更点を的確に要約しており、PR内容と一致しています。

外部知識の正確性 ✓ PASS

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

記事にはPR情報(CHANGELOG)に記載のない外部知識(LTS情報、リリース日程など)は含まれていません。公式ドキュメントへのリンクはCHANGELOG内のURLを正しく引用しています。

時間表現の正確性 ✓ PASS

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

記事内の時間表現はすべて完了形であり、CHANGELOGの内容と一致しています。時間表現の歪曲はありません。