この記事ではClaude Code v2.1.144〜145(2026-05-19リリース)に特化して解説します。Claude Code全般の使い方は Claude Code完全ガイド2026:インストールから本番運用まで をご覧ください。

この記事のポイント
  • 2026年5月19日にv2.1.144v2.1.145の2本が同日リリース
  • v2.1.145claude agents --json でライブセッションをJSON取得できるようになり、tmux-resurrect・ステータスバー・セッションピッカーとのスクリプト連携が公式化
  • OTELスパンagent_id / parent_agent_id を追加。サブエージェントのトレースが親スパンの配下に正しくネストされ、Jaeger/Tempoで並列エージェントの因果関係を可視化できる
  • ステータスバー JSON にGitHubリポジトリ・PR情報が入り、status line hookからPR番号を取得できるようになった
  • /plugin のDiscoverとBrowse画面でインストール前にcommands/agents/skills/hooks/MCP/LSPの一覧を確認できるようになった
  • v2.1.144 の /resume がバックグラウンドセッション対応、/modelがセッションスコープ化、起動ハング問題が75秒→15秒タイムアウトに改善

v2.1.144〜145 全体像:同日リリースが示す2つの主軸

Claude Codeのv2.1.144とv2.1.145は、両方とも2026-05-19にリリースされました。前者がバックグラウンドセッションの基盤改善(バグ修正・UX調整が60件超)、後者が観測性とスクリプト連携の新機能追加という役割分担です。

この2本の背景には、先週の v2.1.140〜143(Claude Code v2.1.140〜143|claude agentsフラグ大量追加・Fast ModeがOpus 4.7 を参照)で大量投入したclaude agentsフラグを実際の運用で使い始めたユーザーからの声が反映されています。「セッションをスクリプトから管理したい」「エージェントのトレースを可視化したい」「プラグインを入れる前に何ができるか分かりたい」という要望が、2本に凝縮されています。

flowchart TD A[v2.1.143
5/15
plugin依存強制
bgIsolation:none] --> B[v2.1.144
5/19
バグ修正60件超
基盤安定化] A --> C[v2.1.145
5/19
新機能追加
観測性強化] B --> D[resumeでbg対応
model セッションスコープ
起動ハング短縮] C --> E[agents --json
OTEL agent_id
status line PR情報
plugin事前確認] D --> F[並列エージェント
本格運用基盤] E --> F

下表に主要な追加・修正を整理します。

カテゴリ v2.1.144 v2.1.145
新機能 /resume がbgセッション対応、経過時間通知、/plugin最終更新日表示 claude agents –json、OTELにagent_id/parent_agent_id、status line PR情報、/plugin事前能力確認、タブタイトルに入力待ち数
UX改善 /model→セッションスコープ化・dキーでデフォルト設定、extra usage→usage credits改称 スラッシュコマンド提案のマウス操作対応(フルスクリーン)、Stop hookにbackground_tasks/session_cronsフィールド追加
主なバグ修正 起動75秒ハング→15秒タイムアウト、macOS bgセッション「exit 1 before init」、garbled端末出力、MCP paginatedツール取得漏れ 権限プロンプトバイパス(変数代入の自動承認)、非ASCII名でのAPIヘッダーエラー、タスクリスト順序不定、Read toolの上限超過をエラー→部分返却に変更
セキュリティ 権限バイパス修正(裸の変数代入が非許可リスト変数に通っていた問題)
Windows PgUp/PgDown・マウスホイール・Ctrl+Oスクロール修正、CJKゴーストキャラクタ修正 Windows PowerShell 5.1でのコマンドセパレータ ; への修正

以下、各機能を実務の角度から掘り下げます。

claude agents –jsonで始まるClaude Codeスクリプト連携

v2.1.145の目玉は claude agents --json です。このフラグを付けると、実行中のClaude Codeセッション一覧がJSON形式で標準出力に書き出されます。

# ライブセッションをJSON取得
claude agents --json

# 入力待ち(blocked)のセッションだけを抽出
claude agents --json | jq '[.[] | select(.status == "blocked")]'

# セッションIDとプロジェクトパスだけ一覧
claude agents --json | jq '.[] | {id: .id, cwd: .cwd, status: .status}'

このコマンドが解決するのは、これまで claude agents のTUI画面(インタラクティブ)でしか確認できなかったセッション一覧を、シェルスクリプトやCI/CDから参照できるようになるという点です。リリースノートが具体例として挙げているのは以下の3つです。

tmux-resurrect連携: tmux-resurrectはセッション復元ツールですが、これまでClaude Codeのバックグラウンドセッション情報はtmuxの外にあったため、ホスト再起動時にどのセッションが走っていたかを把握する手段がありませんでした。claude agents --json の出力を保存しておけば、tmux-resurrect restore後に同じセッションを claude agents attach <id> で復元するスクリプトを組めます。

ステータスバー表示: tmux/i3bar/waybar向けのステータスバースクリプトに組み込み、「現在X個のClaude Codeセッションが稼働中(うちY個が入力待ち)」のような情報をパネルに常時表示できます。入力待ちセッションが増えたら色を変えてアラートするような実装も、JSON出力があれば数行で書けます。

セッションピッカー: fzf 等のファジーファインダーと組み合わせて、ターミナルから素早く対象セッションにアタッチするランチャーを構築できます。

# fzfでセッションを選択してアタッチするワンライナー
claude agents --json \
  | jq -r '.[] | "\(.id)\t\(.status)\t\(.cwd)"' \
  | fzf --delimiter='\t' --preview 'claude logs {1}' \
  | awk '{print $1}' \
  | xargs -I{} claude agents attach {}

JSONの正確なスキーマはまだ公式ドキュメントに掲載されていませんが、id / status / cwd / name / created_at 相当のフィールドが含まれます(jqで確認してください)。エージェントオーケストレーション周りの実装例は agent-viewer完全解説:tmuxで動くClaude Codeエージェントをカンバンで管理するOSS も参考になります。

運用Tips

claude agents --json を cronや watchループで定期実行し、ステータス変化をSlack/Discordに通知するモニタリングスクリプトを組むと、バックグラウンドエージェントの放置を防げます。入力待ち(blocked)になっていることに気づかず数時間ロスするパターンが実運用では頻出します。

合わせて入ったのが、claude agents のターミナルタブタイトルに入力待ちセッション数(awaiting-input count)が表示されるようになった改善です。別ウィンドウにalt-tabしている状態でも、タブタイトルの数字を見てエージェントが自分を待っていることを把握できます。

OTELスパンにagent_id/parent_agent_idを追加:エージェント可観測性の進化

Claude Codeは OpenTelemetry(OTEL)を通じてトレースデータをエクスポートできます。v2.1.145では claude_code.tool スパンに2つの属性が追加されました。

  • agent_id — そのツール呼び出しを行ったエージェントセッションの一意なID
  • parent_agent_id — そのエージェントを起動した親エージェントのID(ルートセッションは空)

さらに、トレースのペアレンティングが修正されました。これまでバックグラウンドサブエージェントのスパンは、Agentツールを呼び出した親セッションのスパンと関連付けられておらず、Jaeger/Tempoなどのトレーシングバックエンドで「どのエージェントが何を起動したか」がバラバラに見えていました。

v2.1.145からはAgentツールが発行するスパンの配下に、サブエージェントのスパンが正しくネストされます。

# OTEL エクスポートの設定例(Jaeger向け)
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317"
export OTEL_SERVICE_NAME="claude-code"
export OTEL_TRACES_EXPORTER="otlp"

# マルチエージェント実行
claude -p "3つのサブエージェントを並列起動してコードレビューを実行してください"
# → Jaeger UIで親スパンの配下に3本のサブエージェントスパンがネスト表示される

この改善が実際に価値を持つのは、複数のサブエージェントを並列に走らせるマルチエージェント構成です。たとえばコードレビュー・テスト・ドキュメント生成を3本のサブエージェントに分担させている場合、どのエージェントがどのツールを何回叩いて何秒かかったかをトレースで追えるようになります。

親子関係の可視化が変える運用

parent_agent_idを使うと「どのサブエージェントがコンテキスト過多で遅延しているか」「並列起動したうちどれが最初に詰まるか」を定量的に把握できます。これはプロンプト最適化やモデル選定(重い推論が必要か・軽い処理か)の判断材料になります。

OTEL連携の設定方法や、並列エージェント設計のパターンについては Claude Code公式ドキュメントの observability セクション(https://code.claude.com/docs/en/observability)も参照してください。

ステータスバーにGitHub repo・PR情報を表示

v2.1.145でstatus line JSONの入力にGitHubリポジトリ情報とPR情報が含まれるようになりました。status line hookは statusline イベントで発火するhookで、jsonを返すと Claude Codeのフッターにカスタム情報を表示できます。

追加されたフィールドは:

  • 現在のGitHubリポジトリ名(owner/repo形式)
  • オープン中のPR番号・タイトル(gh CLIで検出された場合)

独自のstatus line hookを実装していない場合も、Claude Code標準のフッターにPRバッジが表示され、セッション中に gh pr create 等のPR状態変更コマンドを実行すると即座にバッジが更新されます。

// status line hookが受け取るJSON入力のイメージ(v2.1.145以降)
{
  "session_id": "abc123",
  "cwd": "/Users/user/myproject",
  "git": {
    "branch": "feat/my-feature",
    "repo": "myorg/myproject",
    "pr": {
      "number": 42,
      "title": "feat: add new feature",
      "url": "https://github.com/myorg/myproject/pull/42"
    }
  },
  "background_tasks": 2,
  "session_crons": 1
}

background_taskssession_crons フィールドは Stop/SubagentStop hookの入力にも同時追加されました。stopイベント時に「バックグラウンドタスクがまだN個動いています」という情報をhookが受け取れるようになり、全処理が完了するまで待機するロジックをhookに実装しやすくなりました。

v2.1.144では別に、フッターのPRバッジが gh pr create などセッション内でPR状態を変えるコマンド実行後に即座に更新されないバグが修正されています(以前は次回起動まで古い状態が残っていた)。この修正とv2.1.145のPR情報追加で、フッターのPR表示が実用レベルになりました。

/plugin の事前能力確認:インストール前にcommands/skills/hooks/MCPを一覧表示

/plugin のDiscoverとBrowse画面に、プラグインが提供するcommands・agents・skills・hooks・MCPサーバ・LSPサーバの一覧がインストール前から表示されるようになりました。

これまでは /plugin のマーケットプレース画面で「説明文」と「スター数」くらいしか分からず、実際に何が追加されるかインストールして試すしかありませんでした。大きなプラグインはコンテキスト消費量も大きいため、「入れてみたら想定外に重かった」事故が発生していました。

v2.1.143でプラグインごとのトークン推定コストが表示されるようになりましたが、v2.1.145では実際に何が提供されるかの機能一覧が見えるようになった形です。

/plugin browse
> Graphify                              ★ 892
  最終更新: 2026-05-10
  提供する機能:
    Commands: /graphify, /graphify-update, /graphify-query
    Skills:   graphify
    Hooks:    PostToolUse (file change detection)
    MCP:      graphify-server (5 tools)
  コンテキストコスト: ~2,400 tokens/turn

合わせて v2.1.144 では /plugin のブラウズ画面にプラグインの最終更新日が表示されるようになりました。長期間メンテナンスされていないプラグインを見分けるための情報として使えます。

プラグイン選定のチェックポイント
  • MCPサーバ数: MCPサーバが多いほどコンテキストを消費する傾向がある
  • hookの種類: PostToolUseやPreToolUse hookは全ツール呼び出しに割り込むため、多数のhookを持つプラグインは実行速度に影響する可能性がある
  • 最終更新日: 6ヶ月以上更新がない場合、新しいClaude Code APIとの非互換が発生している可能性がある

/resume でバックグラウンドセッションが一覧に:claude –bgの運用が変わる

v2.1.144で /resume コマンドがバックグラウンドセッションに対応しました。これまでの /resumeインタラクティブセッション(通常の対話セッション)のみをピッカーに表示していました。v2.1.144からは claude --bg で起動したバックグラウンドセッションも bg のマークを付けて同一ピッカーに表示されます。

これはバックグラウンドセッションを「別世界のもの」として扱う設計から、インタラクティブセッションと同等に扱う設計へのシフトを示しています。実際、v2.1.144のリリースノートはバックグラウンドセッション関連の修正が全体の半数以上を占めており、claude agentsが Research Preview から実用フェーズに入っていることが見て取れます。

合わせて、バックグラウンドサブエージェントの完了通知に経過時間が含まれるようになりました。

Agent completed · 3h 2m 5s

長時間タスクを投げっぱなしにしている場合、通知だけで「想定通りの時間がかかったか」を判断できるようになります。

Claude Code agent view発表|全セッション一覧で並列エージェントを統治する新UI の時点では「バックグラウンドセッションは claude agents コマンドから管理する」という世界観でしたが、v2.1.144の /resume 対応でインタラクティブセッションとバックグラウンドセッションの境界がさらに薄くなりました。

バックグラウンドセッション関連の主要バグ修正(v2.1.144)

v2.1.144は60件超のバグ修正を含みますが、バックグラウンドセッション関連で特に注意が必要なものを抜粋します。

修正内容 影響するケース
macOS bgセッション「exit 1 before init」クラッシュ(v2.1.143リグレッション) Full Disk Access保護フォルダ(~/Documents等)配下のプロジェクトで常駐が即死する
claude respawn <id> が停止セッションに対し「stopped」を返し続ける 停止セッションの再起動が不可能な状態
/resume ピッカーがバックグラウンドからforkしたセッションを表示しない /bgで分岐したセッションが一覧から消える
claude agents/claude logs <id> でバックグラウンドサービスが無応答な場合にハングする 10秒タイムアウト後にリカバリヒントを表示するよう修正
サブエージェントが生成したBashタスクがプロセス終了後も「Running」のまま残る SDKタスクパネルの表示が実態と乖離する

Full Disk Accessの問題(v2.1.143リグレッション)は、macOSユーザーで ~/Documents~/Desktop 配下にプロジェクトを置いている場合に即座に踏む問題です。v2.1.143にアップデートしてbgセッションが動かなくなった場合は、v2.1.144への更新で解消します。

/model のセッションスコープ化と usage credits 改称

/model がセッション単位で動作するように

v2.1.144で /model コマンドの挙動が変更されました。

変更前(v2.1.143以前): /model で選択したモデルが、現在のセッションだけでなく、次回起動するセッションのデフォルトにも影響していた。複数セッションを並行運用している場合、あるセッションでの /model 変更が別セッションのautocompactしきい値まで書き換えてしまうバグが v2.1.141 で修正されていたが、根本設計として挙動が不明確だった。

変更後(v2.1.144以降): /model は現在のセッションのモデルだけを変更する。新セッションのデフォルトを変えたい場合は、モデルピッカー内で d キーを押して明示的にデフォルト設定する。

/model
> ↑↓ でモデルを選択、d でデフォルト設定、Enter で現セッションのみ変更

  claude-opus-4-7           [d = このモデルをデフォルトに設定]
  claude-opus-4-7 (1M)
  claude-sonnet-4-6
  claude-haiku-4-5

「セッション単位」と「グローバルデフォルト」が明示的に分離されたことで、デバッグ用セッションだけ安価なHaikuを使いたい、本番タスク用のバックグラウンドセッションはOpusに固定したい、という使い分けが意図通りに動くようになりました。

さらに、レジュームしたセッションが使っていたモデルを引き継ぐようになりました(以前は別セッションの /model 選択を拾ってしまうことがあった)。

extra usage → usage credits

/extra-usage コマンドが /usage-credits に改称されました。旧名(/extra-usage)も引き続き動作するため、既存のスクリプトやドキュメントへの影響はありません。UIコピー全体でも “extra usage” という表記が “usage credits” に統一されています。

Bedrock/VertexユーザーのOpus 1Mコンテキスト選択バグ修正

Bedrock・Vertexを使っているユーザーが /model ピッカーで「Opus(1Mコンテキスト)」を選択できない問題(v2.1.129からのリグレッション)が修正されました。長文コンテキストが必要なタスクでBedrock/Vertexを使っているチームは、v2.1.144へのアップデートで1Mコンテキストを使えるようになります。

注目バグフィックス:権限バイパス・非ASCII名・起動ハング

権限プロンプトバイパスの修正(v2.1.145・セキュリティ)

v2.1.145で修正されたバグの中で最も注意が必要なのは、権限プロンプトバイパスです。

settings.jsonenv または permissions.allow に登録されていない環境変数を、Bashコマンド内で裸の変数代入VAR=value command)形式で使った場合、本来なら権限プロンプトが表示されるべきところが自動承認されてしまう問題が存在していました。

# 以前は以下のような裸の変数代入が権限プロンプトなしで通っていた(v2.1.144以前)
ANTHROPIC_API_KEY=sk-... curl https://api.example.com/sensitive

# v2.1.145以降は適切に権限プロンプトが表示される

非許可リストの環境変数を含む Bash コマンドが自動承認される状況は、プロンプトインジェクション経由で悪意ある環境変数設定を実行させる攻撃ベクターになり得ます。--dangerously-skip-permissions モードで動作させていない限り、このバイパスが発動する条件は限られますが、v2.1.145へのアップデートが推奨されます。

非ASCII名を持つAgent Teamsメンバーがすべて失敗する問題(v2.1.145)

Agent Teams(マルチエージェント構成でのチームメンバー定義)で、名前に非ASCII文字(日本語・中国語・アラビア文字等)を含むメンバーがAPIヘッダーのエンコーディング問題ですべてのAPI呼び出しに失敗するバグが修正されました。

日本語名のエージェントを定義している場合や、非ASCII文字を含む設定ファイルを使っている場合に踏む問題です。v2.1.144以前では「エージェントが全く動かない」という症状として現れます。

api.anthropic.com到達不能時の起動ハング短縮(v2.1.144)

キャプティブポータル環境、ファイアウォール内、VPN接続中に api.anthropic.com が到達不能な場合、Claude Codeの起動が最大75秒間ハングする問題が修正されました。

v2.1.144からはサイドチャネルAPIコール(初期化時の軽量クエリ)が15秒でタイムアウトするようになりました。起動ハングが75秒から15秒に短縮されるため、ネットワーク制限環境での体験が大きく改善します。

v2.1.144〜145 アップデート優先度
  • 即時推奨: macOSで `~/Documents` 等のFull Disk Access保護フォルダ配下でbgセッションが動かない場合(v2.1.144)
  • 推奨: 権限プロンプトバイパスの修正(v2.1.145)/非ASCII名エージェント修正(v2.1.145)
  • 便利機能として: claude agents --json、OTEL agent_id、status line PR情報(v2.1.145)
  • 注意不要: /extra-usage → /usage-credits の改称は後方互換あり

Read toolの上限超過エラーが部分返却に変更(v2.1.145)

地味ながら実運用に効く変更として、Readツールでファイル全体を読もうとしてトークン上限を超えた場合の挙動が変わりました。

変更前: ハードエラーを返し、ツール呼び出し自体が失敗する。Claude はその後のターンでファイルを読めない状態になることがあった。

変更後: 「PARTIAL view」の注記付きで最初のページを切り捨てた状態で返す。Claudeは「完全には読めていないが最初の部分は見えている」ことを認識し、offset を使った分割読み込みを選択できる。

大きなファイルを扱うタスクでClaude Codeが「ファイルが読めない」と詰まるケースが減ります。

v2.1.144〜145まとめ:並列エージェント時代の観測性が整ってきた

v2.1.144と v2.1.145を並べて見ると、Claude Codeが向かっている方向が明確です。複数のエージェントを並列・常駐で動かすことが当たり前の環境において、「どのエージェントが今何をしているか」を外から(スクリプト・トレーシング・ステータスバー)観測できる仕組みの整備です。

claude agents --json は外部スクリプトからの観測、OTELのagent_id/parent_agent_idはトレーシングバックエンドからの観測、status lineのGitHub情報はターミナルUIからの観測、それぞれのレイヤーを埋める役割を担っています。

次回のv2.1.146以降では、これらの観測データを使ったアダプティブなエージェント制御(詰まったエージェントを自動再起動する、コンテキスト消費が多いエージェントにcompactionをかけるなど)に関連する機能が追加される可能性があります。

アップデートは npm install -g @anthropic-ai/claude-code または brew upgrade claude-code(Homebrew使用の場合)で適用できます。

参照ソース