何のためのものか
Claude Code をライブラリとして自分のアプリケーションに埋め込むための SDK。 CLI と同じツール・agent loop・コンテキスト管理を Python と TypeScript から使う。
このページの本題は使い方より選択である。似た選択肢が 4 つあり、間違えると作り直しになる。
触る
- ライブラリとして提供されるのは Python と TypeScript のみ
- 他の言語から同じ agent loop を動かすには、CLI を subprocess として実行する(
-pと--output-format json) - TypeScript / Python の SDK はネイティブの Claude Code バイナリを同梱するため、多くの環境では Claude Code の個別インストールが要らない
入れる
自分のアプリに組み込むとき、CLI で使えていたものがそのまま来ることを確認する。
| 機能 | 内容 |
|---|---|
| 組み込みツール | ファイルの読み書き・編集、コマンド実行、web 検索 |
| Hooks | ライフサイクルの要所で独自コードを実行する |
| Subagents | 特定のサブタスク向けに専用 agent を生成する |
| MCP | 外部ツール・データソースを繋ぐ |
| Permissions | どのツールが自動で走り、どれが承認を要するかを制御する |
| Sessions | やり取りをまたいでコンテキストを保持し、後から resume / fork する |
Skills / commands / memory はプロジェクトの .claude/ と ~/.claude/ から自動で読み込まれる(Claude Code と同じ)。plugin はローカルパスでの読み込みになる。
効かせる
4 択を理由で選べるようにする。
| やること | 使うもの |
|---|---|
| ツールループを自分で実装せずに agent を作る | Agent SDK(自分のプロセス内で agent loop を回すライブラリ) |
| 対話的な開発、ターミナルからの単発タスク | Claude Code CLI |
| API を直接叩き、ツールループを自分で実装する | Client SDK(Anthropic API への直接アクセス) |
| 長時間・非同期の agent を、自前の sandbox やセッション基盤なしで動かす | Managed Agents(ホスト型 REST API) |
落とし穴
- Managed Agents は Agent SDK とは別製品。 この SDK の一機能ではなく、agent と sandbox は Anthropic が動かす
- 他言語からは CLI の subprocess 実行になる。 ライブラリが来るのを待つ設計にしない
.claude/が自動で読み込まれるということは、開発機の個人設定が挙動に混ざりうるということでもある