CLAUDE LABEN
COST — v2.1.239 で /cost・ステータスライン・max-budget-usd の見積もりに、データレジデンシー設定のワークスペースで課される US-only 推論の1.1倍プレミアムが反映されるようになりましたBUDGET — これまでデータレジデンシー環境では手元の見積もりが実請求より低く出ていました。予算上限を設定していた場合、今月の請求と /cost の履歴を一度突き合わせておくと安心ですFIXES — v2.1.240 は修正と安定性の改善が中心です。直近では MCP v2 接続・通知フック・Linux のアイドルセッション・Windows のパス検証まわりの修正が続いていますACADEMY — Claude Academy が公開されました。コース・チュートリアル・バッジ・個別のおすすめで構成された、安全で効果的な AI 利用のための学習ハブですPLATFORM — Claude Platform で computer use ツール・browser use ツール・Skills API・Files API が使えるようになりました。手元の端末に縛られていたスキル運用をサーバー側へ移す道が開いていますPRICING — Claude Sonnet 5 の導入価格 100万トークンあたり入力2ドル・出力10ドルは8月31日で終了し、9月1日から入力3ドル・出力15ドルへ移ります。残り8日ですCOST — v2.1.239 で /cost・ステータスライン・max-budget-usd の見積もりに、データレジデンシー設定のワークスペースで課される US-only 推論の1.1倍プレミアムが反映されるようになりましたBUDGET — これまでデータレジデンシー環境では手元の見積もりが実請求より低く出ていました。予算上限を設定していた場合、今月の請求と /cost の履歴を一度突き合わせておくと安心ですFIXES — v2.1.240 は修正と安定性の改善が中心です。直近では MCP v2 接続・通知フック・Linux のアイドルセッション・Windows のパス検証まわりの修正が続いていますACADEMY — Claude Academy が公開されました。コース・チュートリアル・バッジ・個別のおすすめで構成された、安全で効果的な AI 利用のための学習ハブですPLATFORM — Claude Platform で computer use ツール・browser use ツール・Skills API・Files API が使えるようになりました。手元の端末に縛られていたスキル運用をサーバー側へ移す道が開いていますPRICING — Claude Sonnet 5 の導入価格 100万トークンあたり入力2ドル・出力10ドルは8月31日で終了し、9月1日から入力3ドル・出力15ドルへ移ります。残り8日です
記事一覧/Cowork
Cowork/2026-08-23上級

コネクタが使えない朝に、待つのか人に返すのかを分ける三つの状態

無人実行でコネクタに届かないとき、原因は起動途中・未認証・恒久欠落の三つに分かれます。それぞれ正しい対処が正反対になる理由と、待機予算を切り分ける判定器の実装をまとめました。

cowork14mcp20automation55scheduled-tasks3reliability15

プレミアム記事

朝のログに、一行だけ残っていました。

「該当する機能が見つかりませんでした」。

前日まで問題なく動いていた定時タスクです。手元で同じ手順をなぞると、コネクタは何事もなく応答します。再実行すると成功する。翌朝また同じ一行が残る。この往復を何度か繰り返して、ようやく腑に落ちました。タスクは嘘をついていたわけではありません。タスクが見たその瞬間には、本当にそのコネクタが存在していなかったのです。

私自身、個人開発の運用でスケジュール実行を増やすほど、この種の「見た時刻に依存する失敗」に足を取られてきました。厄介なのは、失敗の見た目が全部同じになることです。応答しないコネクタを前にしたとき、機械は「無い」としか言えません。けれど無いことの中身は一つではありませんでした。

使えないコネクタは、三つの別々の事情を同じ顔で見せてくる

実行環境のコネクタ一覧を眺めていて気づいたのは、届かない理由が少なくとも三種類に分かれることでした。

一つ目は、まだ起動が終わっていない状態です。バックグラウンドで接続処理が進んでいて、数秒後には一覧に現れます。この状態のコネクタに対して「無い」と判定するのは、単に早すぎるだけです。

二つ目は、認証が切れている状態です。トークンの期限が過ぎている、あるいは初回の認可が済んでいない。サーバー自体は生きていて、名前も見えているのに、呼ぶと弾かれます。そして無人実行では、ここが決定的に効いてきます。認可のやり取りには人間のブラウザ操作が要るため、待っても永遠に直りません

三つ目が、そもそも接続されていない状態です。設定から外れている、あるいは環境が変わって配信されなくなった。これも待っても現れません。ただし対処は二つ目とは別物で、こちらは代替経路を探すか、機能そのものを諦める判断になります。

同じ「使えない」でも、正しい振る舞いが三方向に分かれます。ここを一つに畳んでしまうと、待つべきときに諦め、諦めるべきときに待ち続けることになります。

状態実体時間で解決するか既定の振る舞い
connecting接続処理が進行中する(多くは数秒)予算内で待つ
unauthenticated認可が未了・期限切れしない(人の操作が必要)即座に人へ返す
absent未接続・配信されていないしない代替経路か、機能を落とす

三状態を分ける最小の判定器

判定に必要な材料は多くありません。実行時点で使えるツールの一覧、接続処理中のサーバー名、認証待ちのサーバー名。この三つが取れれば分類できます。純関数にしておくと、後でテストが書けます。

// resolver.mjs — コネクタの「使えなさ」を三状態に分類する
export const READY = "ready";
export const CONNECTING = "connecting";
export const UNAUTHENTICATED = "unauthenticated";
export const ABSENT = "absent";
 
// mcp__google-drive__search → "google-drive"
// 組み込みツール(Bash 等)はサーバーを持たないので "builtin"
export function serverOf(toolName) {
  const m = /^mcp__([^_]+(?:_[^_]+)*?)__/.exec(toolName);
  return m ? m[1] : "builtin";
}
 
export function classify(toolName, snapshot) {
  const { readyTools, pendingServers, unauthenticatedServers } = snapshot;
 
  // 1. 使えるなら、それ以上の詮索は不要
  if (readyTools.includes(toolName)) return READY;
 
  const server = serverOf(toolName);
 
  // 2. 認証を先に見る。ここを後回しにすると「待てば直る」と誤判定する
  if (unauthenticatedServers.includes(server)) return UNAUTHENTICATED;
 
  // 3. 接続処理中なら、まだ結論を出さない
  if (pendingServers.includes(server)) return CONNECTING;
 
  // 4. どれでもなければ、この実行では存在しない
  return ABSENT;
}

判定の順序に意味があります。認証チェックを接続チェックよりに置いているのは、認証待ちのサーバーが同時に「接続処理中」としても現れることがあるからです。順序を逆にすると、永遠に直らないものを延々と待つ実装になります。この一行の並び順が、後述する待ち時間の差をそのまま生みました。

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

この記事の続きを読む

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

この記事で得られること
コネクタに届かない原因を起動途中・未認証・恒久欠落の三つに切り分けて、それぞれ別の対処へ自動で振り分けられるようになる
無人タスクが「その機能はありません」と誤って報告し、静かに空振りする事故を、公開前の設計段階で防げるようになる
能力の確認を実行の入口ではなく使用の直前に置き直して、起動順序に左右されないタスクへ書き換えられるようになる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Cowork2026-07-17
手元では動くのに、配ると呼び出されない — Cowork プラグインから剥がした4つの前提
自分の環境で動いていたスキル4本をプラグインにまとめて渡したところ、発火したのは1本だけでした。発火率の測り方と、配布前に剥がすべき環境依存・description・権限・命名衝突の4前提を実装込みで整理します。
Cowork2026-07-05
Claudeが安全上の理由で応答を断ったとき、無人パイプラインは何を返すべきか
HTTPは200なのに、本文は「お応えできません」——安全上の理由でモデルが応答を断る第三の結末を、無人パイプラインにどう組み込むかを設計します。拒否とインフラエラーを混同しない判別、自動言い換えで押し通してはいけない理由、レビューキューへの退避までを実務からまとめます。
Cowork2026-06-27
「成功」と記録されたのに成果がゼロだった — Cowork スケジュールタスクの無音失敗を終了前アサーションで止める
Cowork のスケジュールタスクが exit 0 で終わったのに成果物が一つも生まれていない。終了コードだけを信じると見逃すこの無音失敗を、完了条件をアサーションに落として証拠ログとともに赤くする設計をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →