Search documentation

Browse Awaken Agents docs
Docs/Awaken Agentsv1.0.0-dev/User manual/StartCheck whether an Anthropic Managed Agents client can run on Awaken
Note·You're reading pre-release documentation (v1.0.0-dev). Interfaces and behavior may change before a stable release.

User manual · Start

Check whether an Anthropic Managed Agents client can run on Awaken

What this page covers

Decide whether an existing client can connect as-is, needs a named adaptation, or should use an Awaken-native API.

Use this page before changing an existing Anthropic Managed Agents client. Name the SDK version and resource family you use, then choose one of the four outcomes below. Do not treat “the request reached the server” as proof that the whole client is compatible.

Make the compatibility decision first

What you findWhat to do
The resource family is Compatible, and the client’s SDK version is covered by the matrix with the required beta and Awaken authenticationChange the connection settings, run one minimal Session, then test the operations your application actually uses.
The family is Compatible with constraints or names a header divergenceApply the named constraint before migration. Keep that adaptation visible in the client rather than assuming drop-in behavior.
The application needs an Awaken extensionUse the documented Awaken route or field explicitly. Do not present that code path as Anthropic baseline compatibility.
The SDK version or API is outside the tablesTreat it as unreviewed. Test the resource families your application uses, use a documented Awaken-native API, or wait for a compatibility review.

The current validation record covers @anthropic-ai/sdk 0.122.0 and Python anthropic 1.2.0. Both expose 127 generated operations in the reviewed Managed surface. The TypeScript matrix also exercises 0.121.0, 0.117.1, and 0.105.0; the Python matrix covers every selected change point from 0.92.0 through 1.2.0. These are tested versions, not dependency requirements. Choose versions under your own dependency policy, then use this page to see what was actually exercised. At Awaken revision 50d5035c68456c9106626f748cf4c169c2057beb, the operation manifest maps all 127 current SDK methods and 12 reviewed SDK-absent documented routes to named executable scenarios. Compatibility applies only to the named paths, methods, DTOs, errors, helpers, and constraints on this page.

Connect the official SDK

import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic({
  baseURL: 'http://localhost:8080',
  apiKey: process.env.AWAKEN_API_KEY ?? 'local',
});

const session = await client.beta.sessions.create({
  agent: process.env.AWAKEN_AGENT_ID,
  environment_id: process.env.AWAKEN_ENVIRONMENT_ID,
});
await client.beta.sessions.events.send(session.id, {
  events: [{
    type: 'user.message',
    content: [{ type: 'text', text: 'Summarize RFC 8259.' }],
  }],
});

Changing the base URL is not the only integration change: configure Awaken authentication. Official Managed resource methods add their required beta selector. Raw HTTP clients must send it themselves. Awaken accepts x-api-key: <token> or Authorization: Bearer <token>.

Before migrating the full application:

  1. Record the SDK version you chose and find every resource family the client calls.
  2. Set baseURL and Awaken authentication; confirm the SDK method adds the expected beta selector.
  3. Create one Session, send one event, and inspect the returned error envelope.
  4. Apply every constraint used by the application, then test its retry and archive paths.

How to use the design references

This page is the single public owner of compatibility and divergence claims. The Managed Agents protocol page only explains how this wire enters the runtime. Each meaningful constraint below links to the page that explains its ownership, state changes, failure handling, and deployment responsibility. That design page explains why the behavior exists; this page remains the place to decide whether a client can use it.

SDK validation matrix

ClientReviewed versionsEvidence run against AwakenResult boundary
TypeScript @anthropic-ai/sdk0.122.0 current; 0.121.0, 0.117.1, and 0.105.0 change pointsExact method, path, query, beta selector, request and response shape, typed errors, retry behavior, pagination, SSE, helper exports, real-process lifecycle, and restart recoveryCurrent 0.122.0 has 127 generated operations. The 0.122.0 removal of resolveSkillVersion is an upstream source change, not an Awaken shim.
Python anthropic1.2.0 current; 12 selected change points from 0.92.0 through 1.1.0All 127 current operations through sync and async clients, five generated helper entrypoints, typed errors, middleware and credential providers, real-process lifecycle, restart recovery, and 3,827 declaration-derived response witnessesOne reviewed upstream type variance remains on BetaSelfHostedWork.data: Python 1.2.0 omits the healthcheck branch from its annotation, while the wire and live poller accept both branches.
Raw HTTPCurrent documented route familiesRust wire schemas, route behavior, negative admission, persistence, and process-replacement testsRaw callers own authentication, anthropic-version, and the resource family’s beta selector. Awaken extensions remain outside the Anthropic baseline.

This matrix is worth publishing because “SDK compatible” has more than one failure mode. A route can exist while a generated method, helper, retry rule, stream decoder, or response DTO still differs. The matrix shows which client and behavior were tested, while the resource matrix below answers which API family an application can use.

Use Anthropic’s Managed Agents overview, Session operations, and the official TypeScript and Python SDK repositories as the upstream reference. This page records Awaken’s tested projection and differences; it does not replace those sources.

Beta-header decision table

The server parses comma-separated values and repeated anthropic-beta headers. Missing a required beta returns a Managed invalid_request_error.

Resource familyRequired beta valueRelationship to Managed beta
Agents, Sessions, Environments, Deployments, Deployment Runs, Vaultsmanaged-agents-2026-04-01Required
Dreamsdreaming-2026-04-21Family beta required; Managed beta is not required
Memory Stores, Memories, Memory Versionsagent-memory-2026-07-22 for current SDKs; legacy managed-agents-2026-04-01 is also accepted aloneSend exactly one selector; sending both is rejected
Files through current SDK Beta and GA namespacesnoneCurrent 0.122.0 and Python 1.2.0 keep beta=true on Beta methods but omit the legacy Files selector. Older clients may still send files-api-2025-04-14.
Skills and Skill Versions through current SDK Beta and GA namespacesnoneCurrent 0.122.0 and Python 1.2.0 keep beta=true on Beta methods but omit the legacy Skills selector. Older clients may still send skills-2025-10-02.
User ProfilesSDK 0.122.0 sends user-profiles-2026-08-18; legacy user-profiles-2026-03-24 remains acceptedFamily beta required; Managed beta is not required
Tunnels and Certificatesmcp-tunnels-2026-06-22Family beta required; Managed beta is not required
GA Files, Skills, and Models in SDK 0.122.0noneNo beta gate; the same resource authority serves the GA and beta roots
Skill version file route not generated by the current SDKskills-2025-10-02Required only for GET /v1/skills/{id}/versions/{version}/files/{path}?beta=true

The Dreams SDK methods add the dreaming beta themselves. Awaken accepts that generated request without requiring the Managed beta on /v1/dreams.

Compatibility matrix

Official SDK surfaceStatus in AwakenBoundary
Agents and Agent VersionsCompatibleCreate, list, retrieve, update, archive, and version listing use the official Managed routes and DTOs.
Sessions, Events, Threads, and Session ResourcesCompatible with constraintsCRUD/archive, event history, event creation, thread history, and SSE routes are implemented. See Sessions and events and the constraints below.
Environments and WorkCompatibleEnvironment lifecycle and deferred-work lease/ack/heartbeat/stop routes are implemented. Physical Sandbox timing is an Awaken execution concern; see Brain, Hand, and Session Environment.
Deployments and Deployment RunsCompatibleOfficial lifecycle and run routes are implemented.
Vaults and CredentialsCompatibleOfficial lifecycle, archive, and mcp_oauth_validate routes are implemented. Secret custody and last-mile realization follow Awaken’s custody design.
Memory Stores, Memories, and Memory VersionsCompatible with header constraintPaths use /memories; the Memory beta is exclusive as described above.
FilesCompatible across the GA projection transitionSDK 0.122.0 GA and query-only Beta multipart upload, metadata, content download, list, and delete are implemented. Legacy Files selectors still select the reviewed older projection.
Skills and Skill VersionsCompatible across the GA projection transitionSDK 0.122.0 GA and query-only Beta create, version upload, metadata, list, and delete are implemented. Legacy Skills selectors remain accepted; the SDK-absent single-file route keeps its explicit selector.
User ProfilesCompatible across the reviewed beta transitionCRUD/list and enrollment URL accept the 0.122.0 access_type vocabulary and the legacy relationship vocabulary under their respective beta selectors.
DreamsCompatible under the Dreams betaCreate, retrieve, list, archive, and cancel are implemented under dreaming-2026-04-21.
Tunnels and CertificatesCompatibleTunnel lifecycle and certificate operations are implemented under the Tunnels beta.
ModelsCompatibleSDK 0.122.0 GA and beta list/retrieve are implemented. Availability reflects Awaken’s configured catalog.

“Compatible” applies to the named wire contract. Model availability, credentials, sandbox capacity, and backend placement are Awaken configuration concerns and can still cause a valid request to fail explicitly.

Known differences and constraints

CaseCurrent behaviorPublic design owner
SDK authentication and beta admissionChanging baseURL is insufficient. Awaken authentication and the resource family’s beta selector are required.Managed Agents protocol
vault_ids on Session createSupported and frozen into the secret-free Session baseline.Credential custody and Sessions and events
vault_ids on Session updateRejected with 400; an existing Session’s frozen credential baseline is not mutated.Credential custody and Sessions and events
Vault secret storage and deliveryThe wire is compatible, but the installed self-hosted, hosted, or enterprise custody composition determines the material authority and last-mile holder. Compatibility does not imply Anthropic-hosted secret infrastructure.Credential custody and last-mile realization
Session initial_events count0..50. An idempotency key cannot be combined with non-empty initial_events.Sessions and events
system.message in Session initial_eventsRejected. Deployment initial events do allow it under their distinct batch policy.Sessions and events
user.define_outcome in Session initial_eventsAt most one; max_iterations must be 1..20.Sessions and events
Deployment initial_eventsRequires 1..50; a final system.message immediately after its user message is accepted, and outcome max_iterations remains 1..20.Sessions and events
agent.thinking projectionAwaken emits the SDK’s contentless marker from committed inference progress, but never exposes provider reasoning text. History and replay preserve stable event identity.Sessions and events
Session creation and Sandbox creationThey are separate. Accepted on_tool_use policies may leave a Native, inference-only Session without a Sandbox until the first Hand tool; local filesystem demand can force eager realization, and non-Native deferred provisioning is rejected.Brain, Hand, and Session Environment
Skill discovery and body loadingA Session with filesystem tools uses Anthropic-compatible prompt catalog metadata and SKILL.md file loading without semantic Skill tools. A Native Session with every filesystem tool disabled uses list_skills and Skill. Each Session freezes exactly one projection.Use Skills Subsystem
Files and Skills Beta-to-GA projectionCurrent SDK Beta methods send beta=true without the old dated selector, so Awaken returns the post-GA shape. Reviewed older selectors still select their older projections. The SDK-absent Skill single-file route remains explicitly gated.Managed Agents protocol
User Profiles beta transitionSDK 0.122.0 sends user-profiles-2026-08-18 and uses access_type; the prior user-profiles-2026-03-24 selector and relationship vocabulary remain accepted for reviewed older clients.Managed Agents protocol
Anthropic APIs outside the tableNo compatibility claim. Use only documented Awaken routes.API reference

Awaken extensions

Extensions share the same governed objects, but are not part of the Anthropic baseline. Most use distinct route families:

ExtensionPublic surfacePublic design owner
Live Inbox and full resource-manifest replacement/v1/awaken/sessions/*Live Inbox and Sessions and events
Durable run control, recovery, pause/resume, and dead letters/v1/durable/*Production reliability
Provider, model, credential, Agent-authoring, and webhook-subscription configuration/v1/config/*Model publication and Credential custody
Sandbox execution and dream policy/v1/awaken/*Brain, Hand, and Session Environment
AI SDK, AG-UI, A2A, and MCP adaptersTheir documented protocol pathsProtocol connection matrix
Application access tokens and workspace path projection/v1/application-access-tokens, /v1/workspaces/*Governance

A small number of extensions intentionally sit beside or inside compatible shapes and therefore must be handled explicitly by strict clients:

ExtensionLocationPublic design owner
Disable an AgentPOST /v1/agents/{id}/disableConfiguration to execution
Launch an MCP server inside the Session sandboxAgent MCP server variant type: "sandbox_stdio"MCP and Brain/Hand
Seed an Awaken transcriptSessionCreateParams.x_awaken.transcript_prefixSessions and events
Select an ACP backend profileModelConfig.id with the executor=acp:<id> qualifierSelect models and ACP runtimes through the API
Bind uploaded files to Awaken resourcesFile metadata fields purpose, session_id, logical_path, and the purpose list filterSessions and events
Read one file from a Skill versionGET /v1/skills/{id}/versions/{version}/files/{path}API reference

These fields and routes are extensions; a client that wants only baseline behavior should not send or depend on them. The canonical application route-family index is API reference.

Execution extensions: Native, ACP, and A2A

The compatible wire does not fix the execution backend. An immutable published model binding selects one of:

  • a Native in-process backend;
  • a supported ACP CLI backend such as Claude Code, Codex, Gemini, OpenCode, or Hermes;
  • a remote A2A endpoint.

ACP runtime choice is separate from sandbox placement (local, namespace, docker, podman, or k8s). Exact model selection, credential delivery, and session persistence differ by ACP implementation. See Select models and ACP runtimes through the API for selectors and publication boundaries, then the ACP runtime matrix for per-runtime differences.