title: List Session Threads url: https://platform.claude.com/docs/en/api/beta/sessions/threads/list
List Session Threads
GET /v1/sessions/{session_id}/threads
List Session Threads
Path parameters
session_id: string
Query parameters
-
limit: optional numberMaximum results per page. Defaults to 1000.
format: int32
-
page: optional stringOpaque pagination cursor from a previous response's
next_page. Forward-only.
Headers
-
"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 43 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" -
"user-profiles-2026-08-18" -
"user-profiles-2026-09-04" -
"advisor-tool-2026-03-01" -
"managed-agents-2026-04-01" -
"cache-diagnosis-2026-04-07" -
"dreaming-2026-04-21" -
"thinking-token-count-2026-05-13" -
"server-side-fallback-2026-06-01" -
"server-side-fallback-2026-07-01" -
"fallback-credit-2026-06-01" -
"fallback-credit-2026-07-01" -
"agent-memory-2026-07-22" -
"mid-conversation-tool-changes-2026-07-01" -
"compact-2026-01-12" -
"computer-use-2025-11-24" -
"mcp-tunnels-2026-06-22" -
"structured-outputs-2025-11-13" -
"task-budgets-2026-03-13" -
"thinking-display-updates-2026-08-18" -
"ce-user-management-2026-07-13" -
"mid-conversation-output-config-2026-07-01" -
"thinking-binding-controls-2026-08-01" -
"mid-conversation-system-clear-at-2026-08-21" -
"compact-2026-09-04"
-
-
-
"anthropic-workspace-id": optional string
Returns
-
data: optional array of BetaManagedAgentsSessionThreadThreads in the session, primary first then children in spawn order.
-
type: "session_thread" -
id: stringUnique identifier for this thread.
-
agent: BetaManagedAgentsSessionThreadAgent or BetaManagedAgentsAdvisorThe resolved agent a session thread runs: a saved-agent snapshot, the platform advisor entry, or an inline-defined (ephemeral) agent snapshot.
-
BetaManagedAgentsSessionThreadAgent objectResolved
agentdefinition for a singlesession_thread. Snapshot of the agent at thread creation time. The multiagent roster is not repeated here; read it fromSession.agent.-
type: "agent" -
id: string -
description: string or null -
mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition-
type: "url" -
name: string -
url: string
-
-
model: BetaManagedAgentsModelConfigModel identifier and configuration.
-
id: BetaManagedAgentsModelThe model that will power your agent.
See models for additional details and options.
-
"claude-fable-5-1" or "claude-sonnet-5" or "claude-fable-5" or 11 moreThe model that will power your agent.
See models for additional details and options.
-
"claude-fable-5-1"Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows
-
"claude-sonnet-5"High-performance model for coding and agents
-
"claude-fable-5"Next generation of intelligence for the hardest knowledge work and coding problems
-
"claude-opus-5"Powerful intelligence for long-running agents and coding
-
"claude-opus-4-8"Powerful intelligence for long-running agents and coding
-
"claude-opus-4-7"Powerful intelligence for long-running agents and coding
-
"claude-opus-4-6"Powerful intelligence for long-running 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"Powerful intelligence for long-running agents and coding
-
"claude-opus-4-5-20251101"Powerful intelligence for long-running agents and coding
-
"claude-sonnet-4-5"High-performance model for agents and coding
-
"claude-sonnet-4-5-20250929"High-performance model for agents and coding
-
-
string
-
-
effort: optional BetaManagedAgentsEffortLow or BetaManagedAgentsEffortMedium or BetaManagedAgentsEffortHigh or 2 moreHow hard Claude works on each turn. Sets
output_config.efforton every Messages call the session makes.-
BetaManagedAgentsEffortLow objectLow effort. Favors latency over reasoning depth.
type: "low"
-
BetaManagedAgentsEffortMedium objectMedium effort. Balances latency and reasoning depth.
type: "medium"
-
BetaManagedAgentsEffortHigh objectHigh effort. Favors reasoning depth.
type: "high"
-
BetaManagedAgentsEffortXhigh objectExtra-high effort. Not all models accept this level.
type: "xhigh"
-
BetaManagedAgentsEffortMax objectMaximum effort. Favors reasoning depth over latency.
type: "max"
-
-
inference_geo: optional stringGeographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.
-
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"
-
-
-
name: string -
skills: array of BetaManagedAgentsAnthropicSkill or BetaManagedAgentsCustomSkill-
BetaManagedAgentsAnthropicSkill objectA resolved Anthropic-managed skill.
-
type: "anthropic" -
skill_id: string -
version: string
-
-
BetaManagedAgentsCustomSkill objectA resolved user-created custom skill.
-
type: "custom" -
skill_id: string -
version: string
-
-
-
system: string or null -
tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool-
BetaManagedAgentsAgentToolset20260401 object-
type: "agent_toolset_20260401" -
configs: array of BetaManagedAgentsAgentToolConfig-
BetaManagedAgentsBashToolConfig objectConfiguration for the bash tool.
-
type: "bash" -
enabled: boolean -
name: "bash" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
type: "always_allow"
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
type: "always_ask"
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
type: "auto"
-
-
-
BetaManagedAgentsEditToolConfig objectConfiguration for the edit tool.
-
type: "edit" -
enabled: boolean -
name: "edit" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsReadToolConfig objectConfiguration for the read tool.
-
type: "read" -
enabled: boolean -
name: "read" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsWriteToolConfig objectConfiguration for the write tool.
-
type: "write" -
enabled: boolean -
name: "write" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsGlobToolConfig objectConfiguration for the glob tool.
-
type: "glob" -
enabled: boolean -
name: "glob" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsGrepToolConfig objectConfiguration for the grep tool.
-
type: "grep" -
enabled: boolean -
name: "grep" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
BetaManagedAgentsWebFetchToolConfig objectConfiguration for the web_fetch tool.
-
type: "web_fetch" -
enabled: boolean -
name: "web_fetch" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
allowed_domains: optional array of string -
blocked_domains: optional array of string -
max_content_tokens: optional number or nullformat: int32
-
-
BetaManagedAgentsWebSearchToolConfig objectConfiguration for the web_search tool.
-
type: "web_search" -
enabled: boolean -
name: "web_search" -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
allowed_domains: optional array of string -
blocked_domains: optional array of string -
user_location: optional BetaManagedAgentsUserLocation or nullApproximate user location for search result localization.
-
type: "approximate"Location precision. Only "approximate" is supported.
-
city: optional string or nullCity name.
minLength: 1, maxLength: 255
-
country: optional string or nullTwo-letter ISO 3166-1 country code, uppercase.
-
region: optional string or nullRegion or state name.
minLength: 1, maxLength: 255
-
timezone: optional string or nullIANA timezone identifier, e.g. "America/Los_Angeles".
minLength: 1, maxLength: 255
-
-
-
-
default_config: BetaManagedAgentsAgentToolsetDefaultConfigResolved default configuration for agent tools.
-
enabled: boolean -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
-
BetaManagedAgentsMCPToolset object-
type: "mcp_toolset" -
configs: array of BetaManagedAgentsMCPToolConfig-
enabled: boolean -
name: string -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
default_config: BetaManagedAgentsMCPToolsetDefaultConfigResolved default configuration for all tools from an MCP server.
-
enabled: boolean -
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicyPermission policy for tool execution.
-
BetaManagedAgentsAlwaysAllowPolicy objectTool calls are automatically approved without user confirmation.
-
BetaManagedAgentsAlwaysAskPolicy objectTool calls require user confirmation before execution.
-
BetaManagedAgentsAutoPolicy objectThe server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
-
-
-
mcp_server_name: string
-
-
BetaManagedAgentsCustomTool objectA custom tool as returned in API responses.
-
type: "custom" -
description: string -
input_schema: BetaManagedAgentsCustomToolInputSchemaJSON Schema for custom tool input parameters.
-
type: "object" -
properties: optional map[unknown] or null -
required: optional array of string or null
-
-
name: string
-
-
-
version: numberformat: int32
-
-
BetaManagedAgentsAdvisor objectPlatform advisor roster entry: a model the session's primary thread may consult mid-turn.
-
type: "advisor" -
model: stringThe advisor model id.
-
-
-
archived_at: string or nullA timestamp in RFC 3339 format
format: date-time
-
created_at: stringA timestamp in RFC 3339 format
format: date-time
-
parent_thread_id: string or nullParent thread that spawned this thread. Null for the primary thread.
-
session_id: stringThe session this thread belongs to.
-
stats: BetaManagedAgentsSessionThreadStats or nullTiming statistics for a session thread.
-
active_seconds: optional numberCumulative time in seconds the thread spent actively running. Excludes idle time.
format: double
-
duration_seconds: optional numberElapsed time since thread creation in seconds. For archived threads, frozen at the final update.
format: double
-
startup_seconds: optional numberTime in seconds for the thread to begin running. Zero for child threads, which start immediately.
format: double
-
-
status: BetaManagedAgentsSessionThreadStatusSessionThreadStatus enum
-
"running" -
"idle" -
"rescheduling" -
"terminated"
-
-
updated_at: stringA timestamp in RFC 3339 format
format: date-time
-
usage: BetaManagedAgentsSessionThreadUsage or nullCumulative token usage for a session thread across all turns.
-
active_seconds: optional numberCumulative time in seconds this thread spent in running status. Equal to
stats.active_seconds; surfaced here so a thread's usage carries every quantity its cost is priced on.format: double
-
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.
format: int32
-
ephemeral_5m_input_tokens: optional numberTokens used to create 5-minute ephemeral cache entries.
format: int32
-
-
cache_read_input_tokens: optional numberTotal tokens read from prompt cache.
format: int32
-
input_tokens: optional numberTotal input tokens consumed across all turns.
format: int32
-
list_cost: optional BetaMonetaryAmount or nullA monetary amount in a specific currency.
-
amount: stringAmount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.
-
currency: BetaCurrencyUppercase ISO-4217 currency code.
USDis the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.
-
-
output_tokens: optional numberTotal output tokens generated across all turns.
format: int32
-
server_tool_use: optional BetaManagedAgentsServerToolUsage or nullCumulative count of server-executed tool invocations, broken down by tool.
-
web_fetch_requests: optional numberNumber of server-executed web fetch requests.
format: int32
-
web_search_requests: optional numberNumber of server-executed web search requests.
format: int32
-
-
-
-
next_page: optional string or nullOpaque cursor for the next page. Null when no more results.
Example
curl https://api.anthropic.com/v1/sessions/$SESSION_ID/threads \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"data": [
{
"id": "sthr_011CZkZVWa6oIjw0rgXZpnBt",
"agent": {
"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-opus-5",
"effort": {
"type": "low"
},
"inference_geo": "inference_geo",
"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"
},
"type": "bash"
}
],
"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",
"parent_thread_id": null,
"session_id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
"stats": {
"active_seconds": 0,
"duration_seconds": 0,
"startup_seconds": 0
},
"status": "idle",
"type": "session_thread",
"updated_at": "2026-03-15T10:00:00Z",
"usage": {
"active_seconds": 0,
"cache_creation": {
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
},
"cache_read_input_tokens": 0,
"input_tokens": 0,
"list_cost": {
"amount": "2500",
"currency": "USD"
},
"output_tokens": 0,
"server_tool_use": {
"web_fetch_requests": 0,
"web_search_requests": 3
}
}
}
],
"next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}