CLAUDE LABEN
SLACK — Claude TagがSlackでベータ提供。チャンネルで@Claudeにタスクを委譲し、ツール・データ・コードベースを接続できますSECURITY — Claude Codeにsandbox.credentials設定が追加。認証ファイルや秘密の環境変数の読み取りをブロックできますFIX — リモートMCPツール呼び出しの5分ハングを修正。応答なしで止まらずエラーで中断しますMCP — 組織向けMCPコネクタがOktaプロビジョニングに対応。初回ログインでゼロタッチ接続できますMODEL — Claude Fable 5は100万トークン文脈・常時アダプティブ思考・128K出力を備えますLINEUP — 主力はOpus 4.8・Sonnet 4.6・Haiku 4.5。用途に応じて使い分けられますSLACK — Claude TagがSlackでベータ提供。チャンネルで@Claudeにタスクを委譲し、ツール・データ・コードベースを接続できますSECURITY — Claude Codeにsandbox.credentials設定が追加。認証ファイルや秘密の環境変数の読み取りをブロックできますFIX — リモートMCPツール呼び出しの5分ハングを修正。応答なしで止まらずエラーで中断しますMCP — 組織向けMCPコネクタがOktaプロビジョニングに対応。初回ログインでゼロタッチ接続できますMODEL — Claude Fable 5は100万トークン文脈・常時アダプティブ思考・128K出力を備えますLINEUP — 主力はOpus 4.8・Sonnet 4.6・Haiku 4.5。用途に応じて使い分けられます
記事一覧/Claude Code
Claude Code/2026-06-25上級

応答が返らないMCP呼び出しに、無人の定期実行が丸ごと飲み込まれた日 — 自前のデッドラインで止め時を握る

リモートMCPツール呼び出しが応答なしで止まると、無人の定期実行はそのまま待ち続けます。プラットフォーム側の打ち切りに任せきりにせず、自前のデッドラインとサーキットブレーカで止め時を握る設計を、実装込みで整理しました。

claude-code122mcp13agent8timeout6reliability7

プレミアム記事

定期実行のログに、いつもなら数十秒で終わる工程が「開始」とだけ書かれて、その先が何も無い。再実行すると普通に通る。最初は一過性の不調かと流していたのですが、週に一、二度の頻度で同じ箇所に当たるようになり、無視できなくなりました。原因は、リモートのMCPサーバーへ投げたツール呼び出しが応答を返さず、こちらがそれを待ち続けていたことでした。

対話的に使っているなら、固まったと感じた時点で人が割り込めます。けれど無人の定期実行では割り込む人がいません。応答待ちのまま実行枠の時間を食い潰し、後続の工程に一切たどり着かないまま終わる。失敗としてすら記録されないのが、いちばん厄介でした。

6月25日の更新で、リモートMCPツール呼び出しが無応答のまま延々と待ち続ける挙動が修正され、一定時間で待たずにエラーで中断するようになりました。これは大きな前進です。ただ、この修正が与えてくれるのは「いつかは失敗が返る」という保証であって、「その失敗を無人実行がどう扱うか」までは決めてくれません。今日はそこを、個人開発の運用に引きつけて、私自身が設計し直した記録です。

「固まる」と「失敗が返る」はまったく別の運用になる

無応答でハングする状態と、明示的にエラーが返る状態は、コードの見た目以上に運用の性質が違います。

ハングは、こちらが能動的に何かを判断する機会を奪います。例外も戻り値も来ないので、try/except も後続の分岐も発火しません。プロセスはただ待ち、実行枠のタイムアウトが来て外側から殺されるまで、ログには「開始」しか残りません。事後に見ても、どこで何分待っていたのか痕跡が薄いのです。

一方で失敗が返るなら、こちらは判断できます。再試行するのか、このコネクタを今回は諦めるのか、後続だけ先に進めるのか。プラットフォーム側が無応答を打ち切ってくれるようになったことで、ようやくこの判断の入口に立てます。

ただし、打ち切りまでの猶予は無人実行にとっては長いことがあります。実行枠の全体予算が短い場合、外側の上限より内側で自分から見切る方が、後続工程に時間を残せます。打ち切りを丸ごとプラットフォームに委ねるのではなく、より内側に自前のデッドラインを敷くのが出発点になります。

デッドラインは「どの層が止めるか」を先に決める

タイムアウトの設計でいちばん事故りやすいのは、複数の層がそれぞれ別の上限を持っていて、誰が最初に止めるのかが曖昧なことです。整理として、止め時を握る層を一つに絞ります。

私の場合、内側から順にこう並べます。まず個々のMCPツール呼び出しに呼び出しデッドラインを持たせ、これを実行枠の全体予算よりはっきり短くします。次に、一つの工程が複数の呼び出しを束ねる工程デッドラインを置きます。最後に、定期実行全体を見張る実行枠デッドラインがあり、これはプラットフォームの上限と一致させます。

肝心なのは、内側の上限を外側より必ず短く取ることです。呼び出しデッドラインが工程デッドラインより長ければ、自前の打ち切りは一度も発火せず、結局いちばん外側に飲み込まれます。数字に迷ったら、外側の予算の何割を一回の呼び出しに割けるかから逆算します。残りの工程に時間を残すなら、一回の呼び出しは全体予算のせいぜい三分の一程度に抑えるのが、私の感覚では現実的でした。

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

この記事の続きを読む

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

この記事で得られること
リモートMCP呼び出しが無応答で固まったとき、無人実行のどこが壊れるかを切り分けて、打ち切りの責任をどの層に置くか決められるようになる
プラットフォーム既定の打ち切りより内側に自前のデッドラインを敷き、ハング・通常エラー・部分応答を区別して再試行するasyncioラッパを実装できる
壊れたコネクタを実行の残り時間ごと巻き込まないよう、コネクタ単位のサーキットブレーカでスキップ判断を自動化できる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Claude Code2026-06-18
無人で動くエージェントに渡すMCPツールを絞り込む — ポリシー強制で権限を deny-by-default にする
無人実行のClaude Codeエージェントは、許可ダイアログに頼れないぶんツールの届く範囲がそのまま事故の範囲になります。MCPサーバーとツールを deny-by-default で締め、必要なものだけを許可リストで渡す構成を実例つきでまとめました。
Claude Code2026-06-14
Claude Code の Hooks で品質ゲートを壊さず回す — exit code の意味・ブロック挙動・観測設計の実装メモ
Claude Code Hooks を自動化の安全弁として運用するための実装メモ。exit code 0/2/その他の使い分け、JSON 出力による決定制御、ブロックが暴発したときの切り分け、観測ログの設計までを実例で整理します。
Claude Code2026-06-12
Claude Code の fallbackModel を三段構成にする — 過負荷の朝でも止まらない無人実行の設計記録
Claude Code の fallbackModel を三段構成で運用し、過負荷時も夜間バッチを止めない設計を実測つきでまとめます。実行モデルの記録方法、下位モデルに落ちた日の品質差への備え、deny ルール併用まで。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →