title: List remote sessions url: https://platform.claude.com/docs/en/api/compliance/apps/sessions/remote/list
List remote sessions
GET /v1/compliance/apps/sessions/remote
List remote sessions (Cowork sessions that run in Anthropic-managed cloud environments) across the organizations the key may read.
Each entry carries session metadata only; retrieve a session's
transcript from the messages endpoint. By default the list spans every
such organization; pass up to 500 organization_ids[] values to
narrow it. Pass 1 to 10 user_ids[] values to scope the
list to specific users: that filter matches the session's owning user,
so agent-owned sessions are excluded whenever it is set. Bound results
in time with the created_at range parameters (created_at.gte,
created_at.gt, created_at.lt, created_at.lte; RFC 3339). There
is no updated_at filter.
Results are sorted newest first by created_at, with at most limit
sessions per page (default 100, maximum 500). Pagination is
forward-only: pass the response's next_page value back as page to
retrieve the next page, and stop when next_page is null.
Query parameters
-
created_at: optional object-
gt: optional stringFilter remote sessions created after this time (RFC 3339 format)
format: date-time
-
gte: optional stringFilter remote sessions created at or after this time (RFC 3339 format)
format: date-time
-
lt: optional stringFilter remote sessions created before this time (RFC 3339 format)
format: date-time
-
lte: optional stringFilter remote sessions created at or before this time (RFC 3339 format)
format: date-time
-
-
limit: optional numberMaximum results (default: 100, max: 500)
default: 100, maximum: 500, minimum: 1
-
organization_ids: optional array of stringFilter to specific child organization identifiers. Omit to enumerate every child organization the key may read.
maxItems: 500
-
page: optional stringOpaque pagination token from a previous response's
next_pagefield. Pass this to retrieve the next page of results. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice. -
user_ids: optional array of stringFilter to sessions owned by specific users (max 10 per request). Agent-owned sessions are excluded when this filter is set.
maxItems: 10
Headers
"x-api-key": optional string
Returns
-
data: array of object-
id: stringRemote session identifier
-
agent_id: string or nullIdentifier of the automated agent that owns the session. Null for user-owned sessions. At most one of
userandagent_idis set. -
claude_project_id: string or nullID of the project the session is bound to. Null when the session has no project binding.
-
created_at: stringWhen the session was created (RFC 3339, UTC)
format: date-time
-
organization_uuid: stringUUID of the organization the session belongs to
-
product_surface: string or nullThe Claude product the session was created from. Currently
cowork_remote, for Cowork sessions started on claude.ai web or mobile. More values will appear as other surfaces launch, so treat any unrecognized value as an unclassified surface rather than an error. Null for sessions created before this field was recorded, for surfaces that do not stamp it, and for unrecognized tag values. -
started_by_user: object or nullA user associated with a remote session.
-
id: stringUser identifier
-
email_address: string or nullUser's email address. Null when the user is no longer a member of an organization the key may read —
idremains set so attribution is preserved. The messages endpoint does not resolve email addresses; this field is always null there.
-
-
status: stringSession lifecycle state. One of
active,paused,archived, orfailed— the lifecycle states the owning product surface exposes — pluspending, a brief transient state that resolves before any transcript content exists. The list endpoint includespending; the messages endpoint returns 404 for it. Deleted sessions are not returned on either endpoint. Treat unrecognized values as an unknown state rather than an error. -
updated_at: stringWhen the session was last modified (RFC 3339, UTC)
format: date-time
-
user: object or nullA user associated with a remote session.
-
id: stringUser identifier
-
email_address: string or nullUser's email address. Null when the user is no longer a member of an organization the key may read —
idremains set so attribution is preserved. The messages endpoint does not resolve email addresses; this field is always null there.
-
-
-
next_page: string or nullOpaque page token; pass as
pageto retrieve the next page. Null when no rows exist after this page. Treat this value as opaque; do not parse or store it long-term, as the format may change without notice.
Example
curl https://api.anthropic.com/v1/compliance/apps/sessions/remote \
-H 'anthropic-version: 2023-06-01' \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"Response (200)
{
"data": [
{
"id": "cse_01A0000000000000000000000",
"organization_uuid": "00000000-0000-0000-0000-000000000000",
"user": {
"id": "user_01A0000000000000000000000",
"email_address": "user@example.com"
},
"status": "active",
"created_at": "2026-01-02T03:04:05.000000Z",
"updated_at": "2026-01-02T03:04:05.000000Z",
"product_surface": "cowork_remote",
"claude_project_id": "claude_proj_01Nm7PqRsTuVwXyZaBcDeFgH"
}
],
"next_page": "page_AAE..."
}