Was this page helpful?
セッションは環境内で実行されるエージェントインスタンスです。各セッションはエージェントと環境(両方とも別途作成)を参照し、複数のインタラクション全体で会話履歴を保持します。
すべてのManaged Agents APIリクエストには、managed-agents-2026-04-01ベータヘッダーが必要です。SDKはベータヘッダーを自動的に設定します。
セッションにはagent IDとenvironment IDが必要です。エージェントはバージョン管理されたリソースです。agent IDを文字列として渡すと、最新のエージェントバージョンでセッションが開始されます。
session=$(curl -fsSL https://api.anthropic.com/v1/sessions \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d @- <<EOF
{
"agent": "$AGENT_ID",
"environment_id": "$ENVIRONMENT_ID"
}
EOF
)
SESSION_ID=$(jq -r '.id' <<< "$session")特定のエージェントバージョンにセッションをピン留めするには、オブジェクトを渡します。これにより、実行するバージョンを正確に制御し、新しいバージョンのロールアウトを独立してステージングできます。
エージェントは、モデル、システムプロンプト、ツール、MCPサーバーを含む、セッション内でClaudeがどのように動作するかを定義します。詳細については、エージェント設定を参照してください。
エージェントが認証が必要なMCPツールを使用する場合、セッション作成時にvault_idsを渡して、保存されたOAuth認証情報を含むボルトを参照します。Anthropicはトークンの更新を自動的に管理します。ボルトの作成と認証情報の登録方法については、ボルトで認証するを参照してください。
セッションを作成すると、環境とエージェントがプロビジョニングされますが、作業は開始されません。タスクを委譲するには、ユーザーイベントを使用してセッションにイベントを送信します。セッションは進捗を追跡する状態マシンとして機能し、イベントが実際の実行を駆動します。
エージェントの応答をストリーミングし、ツール確認を処理する方法については、イベントとストリーミングを参照してください。
セッションは以下のステータスを通じて進行します:
| ステータス | 説明 |
|---|---|
idle | エージェントはユーザーメッセージやツール確認を含む入力を待機しています。セッションはidleで開始されます。 |
running | エージェントが積極的に実行中 |
rescheduling | 一時的なエラーが発生し、自動的に再試行中 |
terminated | 回復不可能なエラーが発生したため、セッションが終了しました |
セッションをアーカイブして、新しいイベントが送信されるのを防ぎながら、その履歴を保持します:
セッションを削除して、そのレコード、イベント、および関連するコンテナを永続的に削除します。runningセッションは削除できません。すぐに削除する必要がある場合は、割り込みイベントを送信してください。
ファイル、メモリストア、環境、およびエージェントは独立したリソースであり、セッション削除の影響を受けません。
pinned_session=$(curl -fsSL https://api.anthropic.com/v1/sessions \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d @- <<EOF
{
"agent": {"type": "agent", "id": "$AGENT_ID", "version": 1},
"environment_id": "$ENVIRONMENT_ID"
}
EOF
)
PINNED_SESSION_ID=$(jq -r '.id' <<< "$pinned_session")vault_session=$(curl -fsSL https://api.anthropic.com/v1/sessions \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d @- <<EOF
{
"agent": "$AGENT_ID",
"environment_id": "$ENVIRONMENT_ID",
"vault_ids": ["$VAULT_ID"]
}
EOF
)
VAULT_SESSION_ID=$(jq -r '.id' <<< "$vault_session")curl -fsSL "https://api.anthropic.com/v1/sessions/$SESSION_ID/events" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
-H "content-type: application/json" \
-d @- <<'EOF'
{
"events": [
{
"type": "user.message",
"content": [{"type": "text", "text": "List the files in the working directory."}]
}
]
}
EOFretrieved=$(curl -fsSL "https://api.anthropic.com/v1/sessions/$SESSION_ID" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01")
echo "Status: $(jq -r '.status' <<< "$retrieved")"curl -fsSL https://api.anthropic.com/v1/sessions \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01" \
| jq -r '.data[] | "\(.id): \(.status)"'curl -fsSL -X POST "https://api.anthropic.com/v1/sessions/$SESSION_ID/archive" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01"curl -fsSL -X DELETE "https://api.anthropic.com/v1/sessions/$SESSION_ID" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01"