Claude Code APIとは?Claude Agent SDKの全貌【2026年最新】
室谷今回はClaude Code APIの話をしましょう。「Claude CodeをAPIで使いたい」という声が.AI(ドットエーアイ)のコミュニティでここ最近急増しているんですよね。
テキトー教師講座でも同じですよ。「Claude Codeってチャットで使うだけじゃないんですか?」と思っている受講生さんが多くて。
実は開発者向けにSDKが用意されていて、自前のプログラムからClaude Codeの機能を呼び出せるんですよ。
実は開発者向けにSDKが用意されていて、自前のプログラムからClaude Codeの機能を呼び出せるんですよ。
室谷そして2026年に大きな名称変更があって・・・「Claude Code SDK」が「Claude Agent SDK」に改名されました。公式サイトでも「Claude Code SDK has been renamed to the Claude Agent SDK」と明記されています。
ここ、混乱しやすいポイントなので最初に整理しておきましょう。
ここ、混乱しやすいポイントなので最初に整理しておきましょう。
テキトー教師この記事を読むと、Claude Code APIとClaude Agent SDKの違い、APIキーの設定方法、PythonとTypeScriptでのコードの書き方、そして
/claude-apiというビルトインスキルの使い方まで全部わかります。「APIでClaude Codeを使いたい」と思っている人には必読の内容です。Claude Code APIとClaude Agent SDKの関係

テキトー教師まず「Claude Code API」という言葉自体が少し曖昧なので整理しましょう。実際には大きく2つの使い方があります。
室谷そうなんですよね。1つ目は「Anthropic APIを通じてClaudeモデルを呼び出す」クラシックなAPI利用。
もう1つが「Claude Agent SDK(旧Claude Code SDK)を使って、Claude Codeと同じエージェントループを自前のプログラムで動かす」もの。この2つは全然別物です。
もう1つが「Claude Agent SDK(旧Claude Code SDK)を使って、Claude Codeと同じエージェントループを自前のプログラムで動かす」もの。この2つは全然別物です。
| 種類 | 何をするか | 主な用途 |
|---|---|---|
| Anthropic API(Client SDK) | Claudeにプロンプトを送って回答を得る | チャットボット、テキスト生成 |
| Claude Agent SDK | Claude Codeと同じツール実行ループを動かす | コードを読む・書く・実行するAIエージェント |
テキトー教師「APIでClaude Codeを使いたい」と言っている人の多くは、Claude Agent SDKを使いたいケースです。Claude Codeがファイルを読んだり、コマンドを実行したりする——ああいう自律的な動作を、自分のプログラムから呼び出したいわけですよね。
室谷公式ドキュメントの説明が秀逸で、「The Anthropic Client SDK gives you direct API access: you send prompts and implement tool execution yourself. The Agent SDK gives you Claude with built-in tool execution.」とはっきり書かれています。Client SDKはツールループを自分で書く。
Agent SDKはClaude側がツールを自律的に使う。この違いが本質です。
Agent SDKはClaude側がツールを自律的に使う。この違いが本質です。
Claude Agent SDK(旧Claude Code SDK)のインストールと設定
テキトー教師では実際の使い方に入りましょう。まずインストールから。
対応言語はPythonとTypeScriptの2つです。
対応言語はPythonとTypeScriptの2つです。
室谷Pythonを使う場合はこうなります。
pip install claude-agent-sdk
TypeScriptの場合はnpmで。
npm install @anthropic-ai/claude-agent-sdk
テキトー教師そしてAPIキーの設定。これが「Claude Code APIを使う」ときに一番最初にハマるポイントです。
室谷そうですね。ANTHROPIC_API_KEYを環境変数に設定するのが基本です。
export ANTHROPIC_API_KEY=your-api-key
テキトー教師APIキーはAnthropicのConsoleページ(
室谷あと、Amazon Bedrock・Google Vertex AI・Microsoft Azureからも使えます。それぞれ環境変数で切り替えられる設計になっています。
# Amazon Bedrockを使う場合
export CLAUDE_CODE_USE_BEDROCK=1
# Google Vertex AIを使う場合
export CLAUDE_CODE_USE_VERTEX=1
# Microsoft Azureを使う場合
export CLAUDE_CODE_USE_FOUNDRY=1
テキトー教師ただし公式のルールとして、claude.aiのログインを使って第三者向け製品を作ることは許可されていません。自分のプロダクトに組み込む場合は必ずAPIキー認証を使う必要があります。
これ、重要な注意点です。
これ、重要な注意点です。
Pythonでエージェントを動かす:最小コードから実践まで
室谷実際にPythonで動かしてみましょう。公式ドキュメントのクイックスタートが非常によくできているので、これを元に説明します。
テキトー教師まず一番シンプルな例。ディレクトリのファイル一覧を取得するエージェントです。
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="What files are in this directory?",
options=ClaudeAgentOptions(allowed_tools=["Bash", "Glob"]),
):
if hasattr(message, "result"):
print(message.result)
asyncio.run(main())
室谷query関数がメインのエントリーポイントです。非同期イテレータを返すので、async forで回してメッセージを取り出します。Claude Codeが思考し、ツールを呼び出し、結果を観察して次の行動を決める——そのループ全体がSDKの内部で動いています。
テキトー教師もう少し実践的な例を見てみましょう。バグのあるコードを渡して、自動で修正させる例です。
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="Find and fix the bug in auth.py",
options=ClaudeAgentOptions(
allowed_tools=["Read", "Edit", "Glob"],
permission_mode="acceptEdits"
),
):
print(message)
asyncio.run(main())
室谷permission_mode="acceptEdits"がポイントで、ファイルの編集を自動承認にしています。これを指定しないと、Claude Codeが実際にファイルを書き換えるときに確認を求めてきます。完全自動化するなら必須の設定ですね。
テキトー教師受講生さんがよく詰まるのが、
デバッグ時は便利ですが、本番では最終結果だけ取り出すと綺麗になります。
async forの中に入ってくるメッセージの種類です。フィルターしないと、Claudeの思考過程・ツール呼び出し・ツール結果・最終回答が全部入ってきます。デバッグ時は便利ですが、本番では最終結果だけ取り出すと綺麗になります。
室谷MYUUUでも内部ツールに組み込んでいるんですが、最初は全メッセージを垂れ流していたら読めないログになって(笑)。
hasattr(message, "result")で最終結果だけ拾うのが現実的です。TypeScriptでの実装
テキトー教師TypeScriptも同じように書けます。Node.js 18以上が必要です。
室谷TypeScriptの場合はこうなります。
import Anthropic from "@anthropic-ai/claude-agent-sdk";
const client = new Anthropic();
async function main() {
for await (const message of client.beta.claude_agent.query({
prompt: "Find and fix the bug in auth.ts",
options: {
allowedTools: ["Read", "Edit", "Glob"],
permissionMode: "acceptEdits",
},
})) {
if ("result" in message) {
console.log(message.result);
}
}
}
main();
テキトー教師PythonとTypeScriptで書き方は若干違いますが、概念は同じです。
allowedToolsでClaude Codeに与えるツールを制限できる点も共通しています。
室谷ツールの種類も重要なので整理しておきましょう。
| ツール名 | 何をするか |
|---|---|
| Read | 任意のファイルを読む |
| Write | 新規ファイルを作成 |
| Edit | 既存ファイルを精密に編集 |
| Bash | ターミナルコマンド、スクリプト、git操作 |
| Glob | パターンでファイルを検索(**/*.ts等) |
| Grep | 正規表現でファイル内容を検索 |
| WebSearch | ウェブ検索 |
| WebFetch | Webページを取得・解析 |
| AskUserQuestion | ユーザーに確認を取る(選択肢付き) |
テキトー教師allowed_toolsで必要なツールだけを許可するのはセキュリティ上も重要です。「全部使っていいよ」はローカルでの実験なら問題ないですが、本番環境では最小権限の原則に従って必要なツールだけ渡した方がいいです。/claude-apiスキル:Claude CodeにAnthropicのドキュメントを読ませる

室谷これ、最近かなり話題になっているんですが・・・Claude Code v2.1.69でリリースされた
/claude-apiというビルトインスキルがあります。
テキトー教師名前からして「おっ」ってなりますよね。何をするスキルか説明してください。
室谷公式ドキュメントによると、
/claude-apiはプロジェクトで使っている言語(Python、TypeScript、Java、Go、Ruby、C#、PHP、cURL)に合わせてAnthropicのAPIリファレンスを自動で読み込むスキルです。ツールの使い方、ストリーミング、バッチ処理、構造化出力、よくあるミスなどのドキュメントをコンテキストにロードして、コードを書くときに参照できるようにしてくれます。
テキトー教師つまり「Anthropicのドキュメントを開いて調べる」という作業が要らなくなる、と。
室谷そういうことです。さらに面白いのは、コードに
コマンドを打たなくても、Anthropic SDKを使っているプロジェクトでClaude Codeを開くと勝手に発動する設計になっています。
anthropic、@anthropic-ai/sdk、claude_agent_sdkのimportがあると自動でアクティベートされるんですよ。コマンドを打たなくても、Anthropic SDKを使っているプロジェクトでClaude Codeを開くと勝手に発動する設計になっています。
テキトー教師これは確かに便利ですね。APIの実装を書きながら「このオプションどう書くんだっけ」ってなる場面が多いので、Claude Codeが自分でドキュメントを参照してくれるなら作業効率が全然変わります。
室谷僕がXに書いたんですが、「AIが自分の作り方のドキュメントを読んで、自分を組み込むコードを書く」という自己参照的な構造が面白くて・・・。これ、何かの比喩で言うと「大工さんが建材メーカーのカタログを読んで家を建てる」みたいな感じかな。
テキトー教師受講生さんに説明するときは「Claude Codeが自分の作り方マニュアルを持ち歩いているイメージ」って言ってます。実際に使う際は
/claude-apiとコマンドを打つか、Anthropic SDKのimportがあれば自動で読み込まれます。Claude Agent SDKのオプション設定:systemPrompt・permissionMode・MCP連携
室谷SDKの設定オプション周りを整理しておきましょう。
ClaudeAgentOptions(Python)またはClaudeCodeOptions(TypeScript)で色々カスタマイズできます。
テキトー教師よく使うオプションをまとめるとこうなります。
| オプション | 説明 | 例 |
|---|---|---|
| allowed_tools | 使用を許可するツールのリスト | ["Read", "Edit", "Bash"] |
| permission_mode | ファイル編集の承認モード | "acceptEdits"(自動承認) |
| system_prompt | エージェントへの追加指示 | "コードはPEP8に従って書くこと" |
| max_turns | エージェントループの最大回数 | 10 |
| mcp_servers | MCP連携の設定 | MCPサーバーの設定オブジェクト |
室谷system_promptは使いこなすと強力です。「このプロジェクトではTypeScriptを使う」「エラーメッセージは日本語で返す」といった指示を入れておくと、毎回プロンプトで言わなくていいので・・・
テキトー教師講座で受講生さんに「systemPromptを制する者がエージェント開発を制する」って言ってるんですが、本当にそうで。prompt(タスク)とsystem_prompt(作業ルール)を分けて考えるのが重要なんですよ。
室谷MCP連携もSDKからできます。外部ツールやサービスをMCP経由でエージェントに渡せるので、たとえば「データベースを参照しながらコードを書く」みたいなことも可能になります。
テキトー教師これはかなり応用的な使い方ですね。まずは基本的なファイルの読み書きから始めて、徐々に連携を増やすのをおすすめします。
いきなり全部連携しようとすると、どこでエラーが出ているかわからなくなる人が多いので(笑)。
いきなり全部連携しようとすると、どこでエラーが出ているかわからなくなる人が多いので(笑)。
APIキーの認証と課金の仕組み
室谷ここも重要なポイントです。Claude Agent SDKを使うとき、認証は2通りあります。
テキトー教師1つ目がAnthropicのAPIキーを使う方法。2つ目がClaude Codeのログイン情報を使う方法ですね。
室谷公式の推奨はAPIキー認証です。
APIキーを設定していない場合、SDKはClaude Codeの保存済みログイン情報にフォールバックします。
ANTHROPIC_API_KEY環境変数を設定すると、SDKが自動でそれを使います。APIキーを設定していない場合、SDKはClaude Codeの保存済みログイン情報にフォールバックします。
テキトー教師課金面での注意点も重要です。APIキーを使う場合は従量課金になります。
入力トークン・出力トークン数に応じて課金されるAnthropicの通常API料金が適用されます。Claude CodeのProプランのような定額制にはなりません。
入力トークン・出力トークン数に応じて課金されるAnthropicの通常API料金が適用されます。Claude CodeのProプランのような定額制にはなりません。
室谷これ、見落としがちなんですよね。「Claude CodeのProプランに入っているからAPIも無制限で使える」と思い込んでいる人が結構いる・・・。
SDKでAPIキーを使う場合は別途API利用料がかかります。
SDKでAPIキーを使う場合は別途API利用料がかかります。
テキトー教師逆に、Claude Codeの認証情報(claude.aiにログインした状態)を使う場合は、ClaudeのProプランやMaxプランのトークン制限が適用されます。つまり普段Claude Codeをターミナルで使っているのと同じカウントから消費されます。
室谷MYUUUでは内部ツール開発には主にAPIキー認証を使っています。従量課金なので使った分だけかかりますが、プロダクトの安定性という意味では計算しやすいですね。
ストリーミングとシングルターンモードの違い
室谷async forで回すと進捗がリアルタイムで見えるストリーミングモードになりますが、バックグラウンドで動かす場合はシングルターンモードの方が適しています。
テキトー教師CI/CDパイプラインとかに組み込む場合は確かにシングルターンの方がシンプルですよね。ストリーミングだとログが長くなりますし。
室谷使い分けのイメージとしては、ユーザーが待っているリアルタイムの処理ならストリーミング。バックグラウンドで自動実行するバッチ処理なら全メッセージをまとめて受け取る方式という感じです。
テキトー教師受講生さんが初めてSDKを使うときは、まずストリーミングで試してもらっています。Claudeが何をしているかが見えるので、動作を理解しやすいんですよ。
慣れてきたら用途に応じて切り替える。
慣れてきたら用途に応じて切り替える。
Claude Agent SDKのスキル・プラグインとの連携
室谷SDKはClaude Codeのファイルベース設定を読み込む機能もあります。
setting_sources=["project"](Python)またはsettingSources: ["project"](TypeScript)を指定すると、.claude/ディレクトリの設定が有効になります。
テキトー教師具体的には、
.claude/skills/のスキル定義、.claude/commands/のカスタムコマンド、CLAUDE.mdのメモリが使えるようになります。普段Claude Codeで設定しているものをそのままSDK経由のエージェントにも適用できる、ということですね。
室谷これが地味に強力で・・・。既にClaude Codeを使い込んでいてCLAUDE.mdに色々書いているプロジェクトなら、SDKからそのまま同じコンテキストでエージェントを動かせます。
ゼロからシステムプロンプトを書き直す必要がない。
ゼロからシステムプロンプトを書き直す必要がない。
テキトー教師加えて、SDKはブランディングガイドラインも定めています。Claude Agent SDKを使ったプロダクトを作る場合、「Claude Code」という名称を使うのは禁止されています。
「Claude Agent」か「Claude」が正式な表記です。
「Claude Agent」か「Claude」が正式な表記です。
室谷この辺はAnthropicが自社ブランドを守るためのルールですが、ビジネスで使う場合は意識しておいた方がいいですね。
よくある質問とトラブルシューティング
テキトー教師ここから、コミュニティや講座でよく出る疑問に答えていきます。
室谷「Claude CodeをインストールせずにSDKだけ使えますか?」という質問がめちゃくちゃ多いんですよね。
テキトー教師これは答えが分かれるところで・・・Claude Agent SDKそのものはClaude Codeのインストールに依存していません。
pip install claude-agent-sdkでSDKを入れて、APIキーを設定すれば動きます。
室谷「ファイルを読み込む際のパスはどう指定すればいいですか?」という質問も多いです。デフォルトでは、SDKを実行したディレクトリとそのサブディレクトリにアクセスできます。
テキトー教師セキュリティ関連では「Bashツールを許可したらどこまで実行できますか?」という質問が来ます。基本的にはシェルコマンドが実行できるので、かなり強力です。
本番環境でBashを許可する場合は、
本番環境でBashを許可する場合は、
permission_modeの設定と合わせてサンドボックス環境で動かすことを強くおすすめします。
室谷エラーで多いのは
ANTHROPIC_API_KEYが設定されていないケース。環境変数がちゃんと設定されているか確認するのが最初の一手です。echo $ANTHROPIC_API_KEYで確認してください。
テキトー教師それから「API Error 404」や「API Error 500」が出ることもあります。404はモデル名やエンドポイントが間違っている可能性が高いです。
500はAnthropicのサーバー側の問題なので、少し待ってリトライするのが基本対応です。
500はAnthropicのサーバー側の問題なので、少し待ってリトライするのが基本対応です。
まとめ:Claude Code APIを使いこなすためのポイント
テキトー教師改めて整理すると、「Claude Code API」というキーワードで調べている人は、Claude Agent SDK(旧Claude Code SDK)を使いたいケースが多いです。
室谷ポイントをまとめるとこうです。
- Claude Code SDKはClaude Agent SDKに改名されました。パッケージ名は
claude-agent-sdk(Python)と@anthropic-ai/claude-agent-sdk(TypeScript) - APIキーは
ANTHROPIC_API_KEY環境変数で設定。Consoleページ(https://console.anthropic.com)から取得 query()関数がエントリーポイント。非同期イテレータで動く- **
allowed_tools**でツールを制限し、permission_mode="acceptEdits"で自動承認 - APIキー認証は従量課金。Proプランの定額とは別カウント
/claude-apiスキルでAnthropicのドキュメントをコンテキストに自動ロード可能
テキトー教師「まずは試してみる」が一番の近道です。公式クイックスタートの「バグ修正エージェント」から始めると、SDKの動作がつかみやすいですよ。
ファイルを読んで、バグを特定して、修正する——この一連の流れを自前のコードから動かせると「これはプロダクトに組み込める」という感触がつかめます。
ファイルを読んで、バグを特定して、修正する——この一連の流れを自前のコードから動かせると「これはプロダクトに組み込める」という感触がつかめます。
室谷実際、MYUUUでもClaude Agent SDKを使って社内の定型コード生成を自動化しています。セットアップ自体は30分でできるので、まずは小さいスクリプトから試してみてください。
出典
- Claude Agent SDK Overview - Anthropic公式ドキュメント
- Claude Agent SDK Quickstart - Anthropic公式ドキュメント
- Claude Code Skills - Bundled skills - /claude-apiスキルの仕様
