CLAUDE LABEN
OUTPUT — v2.1.237 に組み込み出力スタイル「Concise」が加わりました。前置きや実況を省いて結果から書き始めるスタイルで、作業の網羅性は変わりません。config の Output style から選べますCACHE — v2.1.237 で、LLM ゲートウェイやカスタム base URL を経由するセッションのプロンプトキャッシュが効かない不具合が修正されました。社内プロキシ越しの運用は実効単価がここで変わりますCONFIG — v2.1.236 で ANTHROPIC_DEFAULT_MODEL が追加されました。新規セッションの開始モデルを決める変数で、model コマンドでの選択が優先され再起動をまたいで保持されますNOTIFY — v2.1.236 の notify_when_idle により、同一マシン上の別セッションへ「次にアイドルになったら一度だけ知らせて」と依頼できます。オプトイン・一度きり・ポーリングなしの設計ですSECURITY — macOS でワイルドカードの read-deny ルールが読み取り許可領域の内側でも優先されるようになりました。一致したディレクトリの中身も対象で、リネームによる回避もできませんPRICING — Claude Sonnet 5 の導入価格 100万トークンあたり入力2ドル・出力10ドルは8月31日で終了し、9月1日から入力3ドル・出力15ドルへ移ります。残り10日ですOUTPUT — v2.1.237 に組み込み出力スタイル「Concise」が加わりました。前置きや実況を省いて結果から書き始めるスタイルで、作業の網羅性は変わりません。config の Output style から選べますCACHE — v2.1.237 で、LLM ゲートウェイやカスタム base URL を経由するセッションのプロンプトキャッシュが効かない不具合が修正されました。社内プロキシ越しの運用は実効単価がここで変わりますCONFIG — v2.1.236 で ANTHROPIC_DEFAULT_MODEL が追加されました。新規セッションの開始モデルを決める変数で、model コマンドでの選択が優先され再起動をまたいで保持されますNOTIFY — v2.1.236 の notify_when_idle により、同一マシン上の別セッションへ「次にアイドルになったら一度だけ知らせて」と依頼できます。オプトイン・一度きり・ポーリングなしの設計ですSECURITY — macOS でワイルドカードの read-deny ルールが読み取り許可領域の内側でも優先されるようになりました。一致したディレクトリの中身も対象で、リネームによる回避もできませんPRICING — Claude Sonnet 5 の導入価格 100万トークンあたり入力2ドル・出力10ドルは8月31日で終了し、9月1日から入力3ドル・出力15ドルへ移ります。残り10日です
記事一覧/Claude Code
Claude Code/2026-07-07上級

背景セッションが実行中のまま固まっていた — agents ビューにハートビートを添えて停滞を数分で捕まえる

Claude Code の agents ビューは背景セッションを一望できますが、実行中の表示は稼働の証明ではありません。ハートビートを外付けして、静かに固まったセッションを翌朝でなく数分で捕まえる運用設計を、実測とつまずきどころとともに共有します。

Claude Code228背景セッション無人運用7個人開発118可観測性5

プレミアム記事

先週の火曜、深夜に回していた背景セッションのひとつが、朝まで「実行中」のまま止まっていました。

agents ビューを開くと、ほかの11本は緑のチェックが並んでいるのに、その1本だけがくるくると回転アイコンのまま。ログの末尾は7時間前で、そこから一文字も進んでいませんでした。処理そのものは軽い依存更新でしたから、本来なら数分で終わっているはずのものです。何が起きていたのかというより、「なぜ朝まで気づけなかったのか」のほうが、私にはこたえました。

私は個人開発でいくつかの壁紙アプリと技術ブログを運営していて、依存更新・変更履歴の下書き・クラッシュ要約・広告設定の点検といった細かな作業を、深夜に Claude Code のヘッドレス実行でまとめて走らせています。多い夜は12セッション。2026年7月6日の更新で agents ビューと背景セッションの信頼性が改善され、複数の実行を一枚の画面で見られるようになったことは、この運用にとって素直にありがたい変化でした。ただ、実際に一週間使ってみて、ひとつはっきりしたことがあります。agents ビューが教えてくれるのは「そこにセッションがある」ことであって、「そのセッションが動いている」ことではない、ということです。

その差を埋めるために私が組んだのが、外付けのハートビート層とリコンサイラでした。設計と実装を、順を追って共有します。

「実行中」が嘘をつく瞬間

まず、なぜ「実行中」の表示だけでは足りないのかを、失敗の側から整理します。

背景セッションが止まる原因は、大きく分けて二種類あります。ひとつはクラッシュで終わるもの。プロセスが落ちれば agents ビューの状態も失敗に変わりますから、これは見つけやすい部類です。厄介なのはもうひとつ、プロセスは生きているのに前に進んでいないタイプです。

私が実際に遭遇したものだけでも、こういう状態がありました。

停滞の種類プロセスagents ビューの表示実際の進捗
ネットワーク応答待ちのハング生存実行中停止
返ってこないツール呼び出し生存実行中停止
無音のリトライループ生存実行中実質停止
入力待ちで固着生存実行中停止

いずれも「実行中」と表示され続けます。プレゼンス(そこに在る)は真ですが、ライブネス(生きて進んでいる)は偽です。可観測性の言葉を借りれば、私たちが欲しいのは在席確認ではなく生存確認のほうなのです。

この区別は、無人運用では致命的な差になります。人が画面を見ている日中なら、回転アイコンが長いと違和感で気づけます。けれど背景セッションは、見ていないから背景に回しているわけで、違和感を抱く人がそこにいません。だから停滞は、翌朝までまるごと放置されます。

セッションの身元をコミットまで一本の糸で辿る設計については、以前可読なセッション名で無人実行に相関キーを通す記事に書きました。今回はその手前、そもそも「そのセッションは今も生きているのか」を問う層の話です。

プレゼンスとライブネスを分ける

設計方針はひとつだけです。agents ビューにライブネスの信号を外から足す

具体的には、各背景セッションに一定の間隔で「まだ生きています」という小さな刻印を残させます。そして別の小さなプロセスが、その刻印の鮮度を見張ります。刻印が新しければ生存、古ければ停滞の疑い。これがハートビートの発想です。

なぜ外付けなのか。agents ビューやセッション状態そのものを改造することはできませんし、するべきでもありません。私たちが握れるのは、セッションの内側で何かが起きるたびに副作用として信号を出すこと、そしてその信号を外から観察することだけです。この二つを組み合わせれば、公式機能を一切壊さずにライブネス層を後付けできます。

刻印の中身は、驚くほど小さくて構いません。私が実際に書き込んでいるのは、セッション名・エポック秒・現在フェーズの三つだけです。

{"session":"wallpaper-ios-deps-0706-a3f","ts":1751850600,"phase":"tool:bash"}

ここで date の文字列ではなくエポック秒(ts)を使うのが肝心です。以前、ログの日付を素の date で書いていて UTC と JST がずれ、前日のファイルを上書きしてしまう事故をやりました。時刻の比較を機械にさせるなら、タイムゾーンの解釈が入り込まない整数で持つのが安全です。鮮度は「今のエポック秒 − ts」という引き算一回で出ます。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
agents ビューの「実行中」表示だけでは停滞を見抜けない理由と、プレゼンス(在席)とライブネス(生存)を分けて考える設計の勘所
PostToolUse フックで各セッションにハートビートを刻み、エポック秒でリコンサイラが停滞を判定する動くコード一式
検知の中央値が翌朝から9分台へ縮んだ実測と、思考中の無音・クラウド同期の書き込み競合・長い単発ツールの誤検知という三つの落とし穴の潰し方
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-07-06
夜間ジョブのコミットが追えなくなった — Claude Code の可読なセッション名で無人実行に相関キーを通す
複数リポジトリで夜間ジョブを無人実行していると、翌朝のコミットがどの実行から生まれたのか分からなくなります。Claude Code の可読なセッション名を相関キーとして設計し、コミット・ログ・セッションを一本の糸でつなぐ実装を、実測値とともに共有します。
Claude Code2026-08-20
Claude Code で「今後確認しない」を押した範囲を棚卸しする
確認ダイアログで「今後確認しない」を選んだあと、自分が何を許可したのかを説明できるでしょうか。手元の設定を数えるスクリプトと、最小から足していく権限の組み立て方をまとめました。
Claude Code2026-08-20
起動しただけで1万トークン消えるスキルを、大きさではなく到達率で切り分ける
自分用の運用スキルが、呼び出しただけで約1万トークンを消費していました。節ごとにトークンを測り、最大の節ほど切り出してはいけない理由と、到達率で分けたときの実測値を、監査スクリプトつきでまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →