Agent SDK のエラー対処|起動しない・止まる時

公開 更新 著者 永上裕之導入とルール
AIエージェントの起動ボタンを押したのに動かず、エラーの札を一つずつ確かめながら原因を探しているイメージ

この記事の要点

  • エラーは表示の名前で引く。起動の失敗(CLINotFoundError・CLIConnectionError)、途中の終了(ProcessError など)、出力の失敗の3つに分かれる
  • 起動しない時は、Claude Code の本体が見つかるか・実行できるかを確かめる。場所を自分で指定しているなら、その指定を外すのが近道
  • success なのに決めた形の出力が空の時は、失敗として扱い、断られたか・形の条件が矛盾していないかを見る

活用例:社内のサーバーで動かしている AI エージェントが止まった時の一次対応

部署
情報システム・開発
使うもの
Claude Agent SDK
AIに任せる
エラーの表示からの原因の当たり付けと、確かめる手順の提示
人が決める
直す範囲・再実行するか・本体の入れ直しをするか

Claude Agent SDK で作った AI エージェントが 「起動しない」「途中で止まる」「成功と出たのに中身が空」 という時は、表示されたエラーの名前から原因を引くのがいちばん速い方法です。

この記事では、公式ドキュメント「Troubleshoot the Agent SDK」(2026年11月12日確認)にもとづいて、エラーの表示ごとに原因と直し方を整理します。SDK の全体像は Claude Agent SDK とは で解説しています。

結論:エラーは「起動」「途中の終了」「出力」の3つに分けて見る

Agent SDK は、裏で Claude Code の本体を動かしています。 そのため、エラーの多くは「本体を起動できない」「本体が途中で終わった」「本体は終わったが決めた形の出力が無い」のどれかです。まずどれに当たるかを見分けます。

左のエラーの札が「起動」「途中」「出力」の3つの箱に分けられ、右で直し方に向かう図
左のエラーの札が「起動」「途中」「出力」の3つの箱に分けられ、右で直し方に向かう図(イメージ)

まず全体の早見表

表示分類まず見ること
CLINotFoundError起動本体が入っているか・場所の指定
CLIConnectionError: Refusing to execute batch script起動(Windows).cmd や .bat を指していないか
CLIConnectionError: Failed to start Claude Code起動指した先が実行できるファイルか
CLIConnectionError: Not connected起動(Python)接続する前に呼んでいないか
ProcessError: Command failed with exit code途中の終了(Python)本体が書いたエラー出力
Claude Code process exited with code N途中の終了(TypeScript)同上
Claude Code returned an error result途中の終了コロンの後ろの本文
success なのに structured_output が空出力断られていないか・形の条件

スキル・MCP・フックなど、機能ごとの困りごとは、それぞれの機能のページに対処がまとまっています。

起動しない時

本体が見つからない(CLINotFoundError)

Python の SDK が、Claude Code の本体を見つけられない時のエラーです。 次の順に確かめます。

  1. Claude Code の本体が入っているか
  2. 場所を自分で指定(cli_path)しているなら、そこに本当にファイルがあるか
  3. 指定していないなら、アプリを動かすのと同じ環境で claude --version が動くか

3つ目が見落としやすい点です。エディタやサービスの仕組みから起動したプログラムは、ふだんのシェルと違う道(PATH)で動いていることがよくあります。

TypeScript の SDK では、本体は同梱の部品から探します。「Native CLI binary for ... not found」と出たら、入れる時に任意の部品を飛ばしていないかを見て、SDK を入れ直します。

Windows でバッチのファイルを断られる

npm で入れた時にできる claude.cmd のようなバッチのファイルは、安全のためにわざと断られます。 壊れているのではありません。バッチのファイルは、渡した文字の中身によって別の命令を実行されてしまうおそれがあるためです。

直し方は、場所の指定(cli_path)を外すか、実行ファイル(claude.exe)を指すようにすることです。公式のインストーラーで Claude Code を入れる方法もあります。

見つかったのに起動できない

指した先が、テキストのファイル・フォルダ・実行の権限が無いファイルになっていることが多いです。自分で場所を指定する必要が無いなら、指定を外すと SDK が同梱の本体を自分で探します。 コンテナの中で動かしている時は、本体がコンテナの種類(CPU や部品)に合っていないことがあるので、イメージを作る時に SDK を入れ直します。

途中で終わった時

本体が途中で終わった時は、エラーの文より、本体が書いたエラー出力を見るのが近道です。 Python の ProcessError に出る「Error output」の行は決まった文で、本当の出力ではありません。本当の出力を見たい時は、設定に stderr を受け取る関数を渡して記録します。

「Claude Code returned an error result」と出た時は、コロンの後ろが本体からの報告 なので、そこから読みます。Python では ResultError として届き、中に結果の全体が入っています。

成功なのに出力が空の時

結果が success なのに、決めた形の出力(structured_output)が空のことがあります。 アプリの中では失敗として扱い、次の2つを確かめます。

条件が正しいはずなのに何度も空になる時は、形の条件を一度ゆるめて出力が通るのを確かめ、1つずつ条件を戻していきます。形の決め方は Agent SDK の構造化出力 で解説しています。

よくある質問

手元では動くのに、サーバーに置くと動きません

起動の道(PATH)・本体の有無・環境変数が手元と違うことが多いです。置く場所ごとの確かめ方は Agent SDK のホスティング にまとめています。

ログインや API キーのエラーはどこを見ればいいですか?

「Not logged in」「Invalid API key」や 429 などは、Claude Code 全体のエラー一覧に対処があります。Claude Code のエラー対処 を見てください。

まとめ

出典

永上裕之

ユニコスクール株式会社 代表取締役。AIエージェント専門のスクール&コミュニティを運営しています。

この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。

関連する記事