Update Session
post /v1/sessions/{session_id}
Update Session
Path Parameters
session_id: string
Header Parameters
-
"anthropic-beta": optional array of AnthropicBetaOptional header to specify the beta version(s) you want to use.
-
string -
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 22 more-
"message-batches-2024-09-24" -
"prompt-caching-2024-07-31" -
"computer-use-2024-10-22" -
"computer-use-2025-01-24" -
"pdfs-2024-09-25" -
"token-counting-2024-11-01" -
"token-efficient-tools-2025-02-19" -
"output-128k-2025-02-19" -
"files-api-2025-04-14" -
"mcp-client-2025-04-04" -
"mcp-client-2025-11-20" -
"dev-full-thinking-2025-05-14" -
"interleaved-thinking-2025-05-14" -
"code-execution-2025-05-22" -
"extended-cache-ttl-2025-04-11" -
"context-1m-2025-08-07" -
"context-management-2025-06-27" -
"model-context-window-exceeded-2025-08-26" -
"skills-2025-10-02" -
"fast-mode-2026-02-01" -
"output-300k-2026-03-24" -
"user-profiles-2026-03-24" -
"advisor-tool-2026-03-01" -
"managed-agents-2026-04-01" -
"cache-diagnosis-2026-04-07"
-
-
Body Parameters
-
agent: optional BetaManagedAgentsSessionAgentUpdateMid-session agent configuration update. Only
toolsandmcp_serversare updatable. Full replacement: the provided array becomes the new value. To preserve existing entries, GET the session, modify the array, and POST it back.-
mcp_servers: optional array of BetaManagedAgentsURLMCPServerParamsReplacement MCP server list. Full replacement: the provided array becomes the new value. Send an empty array to clear; omit to preserve.
-
name: stringUnique name for this server, referenced by mcp_toolset configurations. 1-255 characters.
-
type: "url""url"
-
url: stringEndpoint URL for the MCP server.
-
-
tools: optional array of BetaManagedAgentsAgentToolset20260401Params or BetaManagedAgentsMCPToolsetParams or BetaManagedAgentsCustomToolParamsReplacement tool list. Full replacement: the provided array becomes the new value. Send an empty array to clear; omit to preserve.
-
BetaManagedAgentsAgentToolset20260401Params object { type, configs, default_config }Configuration for built-in agent tools. Use this to enable or disable groups of tools available to the agent.
-
type: "agent_toolset_20260401""agent_toolset_20260401"
-
configs: optional array of BetaManagedAgentsAgentToolConfigParamsPer-tool configuration overrides.
-
name: "bash" or "edit" or "read" or 5 moreBuilt-in agent tool identifier.
-
"bash" -
"edit" -
"read" -
"write" -
"glob" -
"grep" -
"web_fetch" -
"web_search"
-
-
enabled: optional booleanWhether this tool is enabled and available to Claude. Overrides the default_config setting.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
type: "always_allow""always_allow"
-
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
type: "always_ask""always_ask"
-
-
-
-
default_config: optional BetaManagedAgentsAgentToolsetDefaultConfigParamsDefault configuration for all tools in a toolset.
-
enabled: optional booleanWhether tools are enabled and available to Claude by default. Defaults to true if not specified.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
-
-
-
BetaManagedAgentsMCPToolsetParams object { mcp_server_name, type, configs, default_config }Configuration for tools from an MCP server defined in
mcp_servers.-
mcp_server_name: stringName of the MCP server. Must match a server name from the mcp_servers array. 1-255 characters.
-
type: "mcp_toolset""mcp_toolset"
-
configs: optional array of BetaManagedAgentsMCPToolConfigParamsPer-tool configuration overrides.
-
name: stringName of the MCP tool to configure. 1-128 characters.
-
enabled: optional booleanWhether this tool is enabled. Overrides the
default_configsetting. -
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
-
-
default_config: optional BetaManagedAgentsMCPToolsetDefaultConfigParamsDefault configuration for all tools from an MCP server.
-
enabled: optional booleanWhether tools are enabled by default. Defaults to true if not specified.
-
permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
-
-
-
BetaManagedAgentsCustomToolParams object { description, input_schema, name, type }A custom tool that is executed by the API client rather than the agent. When the agent calls this tool, an
agent.custom_tool_useevent is emitted and the session goes idle, waiting for the client to provide the result via auser.custom_tool_resultevent.-
description: stringDescription of what the tool does, shown to the agent to help it decide when to use the tool. 1-1024 characters.
-
input_schema: BetaManagedAgentsCustomToolInputSchemaJSON Schema for custom tool input parameters.
-
properties: optional map[unknown]JSON Schema properties defining the tool's input parameters.
-
required: optional array of stringList of required property names.
-
type: optional "object"Must be 'object' for tool input schemas.
"object"
-
-
name: stringUnique name for the tool. 1-128 characters; letters, digits, underscores, and hyphens.
-
type: "custom""custom"
-
-
-
-
metadata: optional map[string]Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omit the field to preserve.
-
title: optional stringHuman-readable session title.
-
vault_ids: optional array of stringVault IDs (
vlt_*) to attach to the session. Not yet supported; requests setting this field are rejected. Reserved for future use.
Returns
-
BetaManagedAgentsSession object { id, agent, archived_at, 12 more }A Managed Agents
session.-
id: string -
agent: BetaManagedAgentsSessionAgentResolved
agentdefinition for asession. Snapshot of theagentatsessioncreation time.-
id: string -
description: string -
mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition-
name: string -
type: "url""url"
-
url: string
-
-
model: BetaManagedAgentsModelConfigModel identifier and configuration.
-
id: BetaManagedAgentsModelThe model that will power your agent.
See models for additional details and options.
-
"claude-opus-4-7" or "claude-opus-4-6" or "claude-sonnet-4-6" or 6 moreThe model that will power your agent.
See models for additional details and options.
-
"claude-opus-4-7"Frontier intelligence for long-running agents and coding
-
"claude-opus-4-6"Most intelligent model for building agents and coding
-
"claude-sonnet-4-6"Best combination of speed and intelligence
-
"claude-haiku-4-5"Fastest model with near-frontier intelligence
-
"claude-haiku-4-5-20251001"Fastest model with near-frontier intelligence
-
"claude-opus-4-5"Premium model combining maximum intelligence with practical performance
-
"claude-opus-4-5-20251101"Premium model combining maximum intelligence with practical performance
-
"claude-sonnet-4-5"High-performance model for agents and coding
-
"claude-sonnet-4-5-20250929"High-performance model for agents and coding
-
-
string
-
-
speed: optional "standard" or "fast"Inference speed mode.
fastprovides significantly faster output token generation at premium pricing. Not all models supportfast; invalid combinations are rejected at create time.-
"standard" -
"fast"
-
-
-
multiagent: BetaManagedAgentsSessionMultiagentCoordinatorResolved coordinator topology with full agent definitions for each roster member.
-
agents: array of BetaManagedAgentsSessionThreadAgentFull
agentdefinitions the coordinator may spawn as session threads.-
id: string -
description: string -
mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition-
name: string -
type: "url" -
url: string
-
-
model: BetaManagedAgentsModelConfigModel identifier and configuration.
-
name: string -
skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill-
BetaManagedAgentsAnthropicSkill object { skill_id, type, version }A resolved Anthropic-managed skill.
-
skill_id: string -
type: "anthropic""anthropic"
-
version: string
-
-
BetaManagedAgentsCustomSkill object { skill_id, type, version }A resolved user-created custom skill.
-
skill_id: string -
type: "custom""custom"
-
version: string
-
-
-
system: string -
tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool-
BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type }-
configs: array of BetaManagedAgentsAgentToolConfig-
enabled: boolean -
name: "bash" or "edit" or "read" or 5 moreBuilt-in agent tool identifier.
-
"bash" -
"edit" -
"read" -
"write" -
"glob" -
"grep" -
"web_fetch" -
"web_search"
-
-
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
type: "always_allow""always_allow"
-
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
type: "always_ask""always_ask"
-
-
-
-
default_config: BetaManagedAgentsAgentToolsetDefaultConfigResolved default configuration for agent tools.
-
enabled: boolean -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
-
-
type: "agent_toolset_20260401""agent_toolset_20260401"
-
-
BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type }-
configs: array of BetaManagedAgentsMCPToolConfig-
enabled: boolean -
name: string -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
-
-
default_config: BetaManagedAgentsMCPToolsetDefaultConfigResolved default configuration for all tools from an MCP server.
-
enabled: boolean -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy object { type }Tool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy object { type }Tool calls require user confirmation before execution.
-
-
-
mcp_server_name: string -
type: "mcp_toolset""mcp_toolset"
-
-
BetaManagedAgentsCustomTool object { description, input_schema, name, type }A custom tool as returned in API responses.
-
description: string -
input_schema: BetaManagedAgentsCustomToolInputSchemaJSON Schema for custom tool input parameters.
-
properties: optional map[unknown]JSON Schema properties defining the tool's input parameters.
-
required: optional array of stringList of required property names.
-
type: optional "object"Must be 'object' for tool input schemas.
"object"
-
-
name: string -
type: "custom""custom"
-
-
-
type: "agent""agent"
-
version: number
-
-
type: "coordinator""coordinator"
-
-
name: string -
skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill-
BetaManagedAgentsAnthropicSkill object { skill_id, type, version }A resolved Anthropic-managed skill.
-
BetaManagedAgentsCustomSkill object { skill_id, type, version }A resolved user-created custom skill.
-
-
system: string -
tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool-
BetaManagedAgentsAgentToolset20260401 object { configs, default_config, type } -
BetaManagedAgentsMCPToolset object { configs, default_config, mcp_server_name, type } -
BetaManagedAgentsCustomTool object { description, input_schema, name, type }A custom tool as returned in API responses.
-
-
type: "agent""agent"
-
version: number
-
-
archived_at: stringA timestamp in RFC 3339 format
-
created_at: stringA timestamp in RFC 3339 format
-
environment_id: string -
metadata: map[string] -
outcome_evaluations: array of BetaManagedAgentsOutcomeEvaluationResourcePer-outcome evaluation state. One entry per define_outcome event sent to the session.
-
completed_at: stringA timestamp in RFC 3339 format
-
description: stringWhat the agent should produce.
-
explanation: stringGrader's verdict text from the most recent evaluation. For satisfied, explains why criteria are met; for needs_revision (intermediate), what's missing; for failed, why unrecoverable.
-
iteration: number0-indexed revision cycle the outcome is currently on.
-
outcome_id: stringServer-generated outc_ ID for this outcome.
-
result: stringCurrent evaluation state.
pendingbefore the agent begins work;runningwhile producing or revising;evaluatingwhile the grader scores;satisfied/max_iterations_reached/failed/interruptedare terminal. -
type: "outcome_evaluation""outcome_evaluation"
-
-
resources: array of BetaManagedAgentsSessionResource-
BetaManagedAgentsGitHubRepositoryResource object { id, created_at, mount_path, 4 more }-
id: string -
created_at: stringA timestamp in RFC 3339 format
-
mount_path: string -
type: "github_repository""github_repository"
-
updated_at: stringA timestamp in RFC 3339 format
-
url: string -
checkout: optional BetaManagedAgentsBranchCheckout or BetaManagedAgentsCommitCheckout-
BetaManagedAgentsBranchCheckout object { name, type }-
name: stringBranch name to check out.
-
type: "branch""branch"
-
-
BetaManagedAgentsCommitCheckout object { sha, type }-
sha: stringFull commit SHA to check out.
-
type: "commit""commit"
-
-
-
-
BetaManagedAgentsFileResource object { id, created_at, file_id, 3 more }-
id: string -
created_at: stringA timestamp in RFC 3339 format
-
file_id: string -
mount_path: string -
type: "file""file"
-
updated_at: stringA timestamp in RFC 3339 format
-
-
BetaManagedAgentsMemoryStoreResource object { memory_store_id, type, access, 4 more }A memory store attached to an agent session.
-
memory_store_id: stringThe memory store ID (memstore_...). Must belong to the caller's organization and workspace.
-
type: "memory_store""memory_store"
-
access: optional "read_write" or "read_only"Access mode for an attached memory store.
-
"read_write" -
"read_only"
-
-
description: optional stringDescription of the memory store, snapshotted at attach time. Rendered into the agent's system prompt. Empty string when the store has no description.
-
instructions: optional stringPer-attachment guidance for the agent on how to use this store. Rendered into the memory section of the system prompt. Max 4096 chars.
-
mount_path: optional stringFilesystem path where the store is mounted in the session container, e.g. /mnt/memory/user-preferences. Derived from the store's name. Output-only.
-
name: optional stringDisplay name of the memory store, snapshotted at attach time. Later edits to the store's name do not propagate to this resource.
-
-
-
stats: BetaManagedAgentsSessionStatsTiming statistics for a session.
-
active_seconds: optional numberCumulative time in seconds the session spent in running status. Excludes idle time.
-
duration_seconds: optional numberElapsed time since session creation in seconds. For terminated sessions, frozen at the final update.
-
-
status: "rescheduling" or "running" or "idle" or "terminated"SessionStatus enum
-
"rescheduling" -
"running" -
"idle" -
"terminated"
-
-
title: string -
type: "session""session"
-
updated_at: stringA timestamp in RFC 3339 format
-
usage: BetaManagedAgentsSessionUsageCumulative token usage for a session across all turns.
-
cache_creation: optional BetaManagedAgentsCacheCreationUsagePrompt-cache creation token usage broken down by cache lifetime.
-
ephemeral_1h_input_tokens: optional numberTokens used to create 1-hour ephemeral cache entries.
-
ephemeral_5m_input_tokens: optional numberTokens used to create 5-minute ephemeral cache entries.
-
-
cache_read_input_tokens: optional numberTotal tokens read from prompt cache.
-
input_tokens: optional numberTotal input tokens consumed across all turns.
-
output_tokens: optional numberTotal output tokens generated across all turns.
-
-
vault_ids: array of stringVault IDs attached to the session at creation. Empty when no vaults were supplied.
-
Example
curl https://api.anthropic.com/v1/sessions/$SESSION_ID \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"title": "Order #1234 inquiry"
}'
Response
{
"id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
"agent": {
"id": "agent_011CZkYpogX7uDKUyvBTophP",
"description": "A general-purpose starter agent.",
"mcp_servers": [
{
"name": "example-mcp",
"type": "url",
"url": "https://example-server.modelcontextprotocol.io/sse"
}
],
"model": {
"id": "claude-sonnet-4-6",
"speed": "standard"
},
"multiagent": {
"agents": [
{
"id": "agent_011CZkYqphY8vELVzwCUpqiQ",
"description": "A focused research subagent.",
"mcp_servers": [
{
"name": "example-mcp",
"type": "url",
"url": "https://example-server.modelcontextprotocol.io/sse"
}
],
"model": {
"id": "claude-sonnet-4-6",
"speed": "standard"
},
"name": "Researcher",
"skills": [
{
"skill_id": "xlsx",
"type": "anthropic",
"version": "1"
}
],
"system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
"tools": [
{
"configs": [
{
"enabled": true,
"name": "bash",
"permission_policy": {
"type": "always_allow"
}
}
],
"default_config": {
"enabled": true,
"permission_policy": {
"type": "always_ask"
}
},
"type": "agent_toolset_20260401"
}
],
"type": "agent",
"version": 1
}
],
"type": "coordinator"
},
"name": "My First Agent",
"skills": [
{
"skill_id": "xlsx",
"type": "anthropic",
"version": "1"
},
{
"skill_id": "skill_011CZkZFNu9hAbo3jZPRgTlx",
"type": "custom",
"version": "2"
}
],
"system": "You are a general-purpose agent that can research, write code, run commands, and use connected tools to complete the user's task end to end.",
"tools": [
{
"configs": [
{
"enabled": true,
"name": "bash",
"permission_policy": {
"type": "always_allow"
}
}
],
"default_config": {
"enabled": true,
"permission_policy": {
"type": "always_ask"
}
},
"type": "agent_toolset_20260401"
}
],
"type": "agent",
"version": 1
},
"archived_at": null,
"created_at": "2026-03-15T10:00:00Z",
"environment_id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
"metadata": {},
"outcome_evaluations": [
{
"completed_at": "2026-03-15T10:02:31Z",
"description": "Produce a 2-page summary as summary.md",
"explanation": "All five sections present with inline citations.",
"iteration": 0,
"outcome_id": "outc_011CZkZRSw2kEfs6ncTVljxP",
"result": "satisfied",
"type": "outcome_evaluation"
}
],
"resources": [
{
"id": "sesrsc_011CZkZBJq5dWxk9fVLNcPht",
"created_at": "2026-03-15T10:00:00Z",
"file_id": "file_011CNha8iCJcU1wXNR6q4V8w",
"mount_path": "/uploads/receipt.pdf",
"type": "file",
"updated_at": "2026-03-15T10:00:00Z"
},
{
"id": "sesrsc_011CZkZCKr6eXyl0gWMOdQiu",
"created_at": "2026-03-15T10:00:00Z",
"mount_path": "/workspace/example-repo",
"type": "github_repository",
"updated_at": "2026-03-15T10:00:00Z",
"url": "https://github.com/example-org/example-repo",
"checkout": {
"name": "main",
"type": "branch"
}
}
],
"stats": {
"active_seconds": 0,
"duration_seconds": 0
},
"status": "idle",
"title": "Order #1234 inquiry",
"type": "session",
"updated_at": "2026-03-15T10:00:00Z",
"usage": {
"cache_creation": {
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
},
"cache_read_input_tokens": 0,
"input_tokens": 0,
"output_tokens": 0
},
"vault_ids": [
"vlt_011CZkZDLs7fYzm1hXNPeRjv"
]
}