概要
Claude Code をライブラリとして自分のアプリケーションに埋め込むための SDK。CLI と同じツール・agent loop・コンテキスト管理を Python と TypeScript から使う。
仕様
他の選択肢との使い分け
| やること | 使うもの | 理由 |
|---|---|---|
| ツールループを自分で実装せずに agent を作る | Agent SDK | 自分のプロセス内で agent loop を回すライブラリ。Python / TypeScript |
| 対話的な開発、ターミナルからの単発タスク | Claude Code CLI | 日常の対話利用向けのターミナルインターフェース |
| API を直接叩き、ツールループを自分で実装する | Client SDK | Claude Code ではなく Anthropic API への直接アクセス |
| 長時間・非同期の agent を、自前の sandbox やセッション基盤なしで動かす | Managed Agents | ホスト型 REST API。Agent SDK とは別製品で、agent と sandbox は Anthropic が動かす |
対応言語
- ライブラリとして提供されるのは Python と TypeScript のみ
- 他の言語から同じ agent loop を動かすには、CLI を subprocess として実行する(
-pと--output-format json)
利用できる機能
| 機能 | 内容 |
|---|---|
| 組み込みツール | ファイルの読み書き・編集、コマンド実行、web 検索 |
| Hooks | agent のライフサイクルの要所で独自コードを実行する |
| Subagents | 特定のサブタスク向けに専用 agent を生成する |
| MCP | Model Context Protocol で外部ツール・データソースを繋ぐ |
| Permissions | どのツールが自動で走り、どれが承認を要するかを制御する |
| Sessions | やり取りをまたいでコンテキストを保持し、後から resume / fork する |
| Skills / commands / memory | プロジェクトの .claude/ と ~/.claude/ から自動で読み込まれる(Claude Code と同じ) |
| Plugins | skill・agent・hook・MCP サーバーをまとめ、ローカルパスで読み込む |
インストール
- TypeScript / Python の SDK はネイティブの Claude Code バイナリを同梱する。多くの環境では Claude Code の個別インストールを必要としない
制約・注意点
- Managed Agents は Agent SDK とは別製品。 ホスト型の REST API であり、この SDK の一機能ではない
- ライブラリは Python と TypeScript のみ。他言語は CLI の subprocess 実行になる
- plugin はローカルパスでの読み込みとして記載されている
関連
facts/claude-code/agent-sdk-loop.mdfacts/claude-code/agent-sdk-custom-tools.mdfacts/claude-code/headless.md— CLI を subprocess として使う場合facts/claude-code/tools-reference.mdfacts/claude-code/mcp.md