Skip to main content
Checkfu keeps the central Claude Managed Agents shape familiar: create an Agent, create an Environment, then create a Session that selects both. Agents are versioned, Sessions keep a durable event log, Sessions reference Vaults for Credential custody, and resources can be attached at Session creation. This page maps concepts. It is not a drop-in compatibility promise. Use Checkfu’s typed API, SDK, and CLI contracts for exact requests and responses.

The core mapping

Agent lifecycle

The Agent mapping is direct:
Creating and updating an Agent directly produces its immutable Version history. The Agent is the mutable authored resource; AgentVersion is the configuration selected for execution.

The one field a ported request must add

Checkfu serves a CMA-shaped managed-agent contract through several agent-loop implementations, so an Agent names the one it runs on. harness is required on create and has no default. A request body ported from Claude Managed Agents therefore needs exactly one added line:
Omitting it is a validation error that lists the harnesses this deployment serves, rather than a create that silently succeeds against whichever loop the deployment happened to default to. The value is a harness catalog name, optionally pinned to one published profile version (name@3); it is frozen into every AgentVersion, and sessions.create can override it for a single Session through agent: { type: "agent_with_overrides", … }. The grammar also admits a Workspace HarnessProfile name. Session admission resolves a profile-only bare name to its current version, or name@3 to that exact profile version. A bare name shared with the deployed catalog is ambiguous; pin the Workspace profile version to select it. The profile must have current signature-verified conformance evidence for the selected Environment, and its release must be launchable in this deployment. Otherwise Session creation returns a typed conflict naming the missing qualification; it never substitutes another harness. Availability still gates execution: naming a harness this deployment cannot launch yet is accepted on create and refused at Session admission, with the refusal naming the harness you chose. Checkfu never substitutes a different one. The example model is BYOK. Add an Anthropic provider key in Model credentials and pin it with the Checkfu extension fields model.provider and model.model_credential_id before starting a Session; see Model access. A CMA client that sends only model.id is unchanged: that model routes on Checkfu-managed supply, which must serve it. A Session can select the current AgentVersion by Agent ID or pin an exact Version:
Admission freezes the resolved AgentVersion and Environment authority. Updating either resource later does not change that Session.

Environments and Workspaces

An Environment is the reusable sandbox or self-hosted execution configuration used by Sessions. Multiple Sessions can select the same Environment while receiving separate execution custody. Do not map development, staging, or production onto Environment names as isolation boundaries. In Checkfu those are separate Workspaces. A self-hosted Environment may widen selection visibility to authorized accounts in the same Tenant or Organization, but it never shares Session sandboxes or data.

Vaults, Connections, and governance

Pass vault_ids when a Session needs Credential custody:
The named CLI command accepts the same Session create body. Put your actual resource IDs in session.json, then run checkfu session create --input @session.json:
The CLI validates --input against the same Session operation as the API and prints the created Session ID. A referenced resource still needs the applicable permission and must pass Session admission. A Vault owns secret-bearing Credential custody. A Credential is authorization material with no public read-back value. A Connection is the nonsecret governed link to one external account or provider capability; it is not the token, password, API key, or OAuth grant. Every connected effect follows the same trust path:
An ActionApproval never replaces permission, and an earlier approval cannot preserve a revoked Connection. Credential values never enter Agent or AgentVersion configuration, model context, harness configuration, Session events, Files, Memory, tool arguments, or the sandbox. Recovery never turns an uncertain external effect into a safe retry. See Capabilities for the current resource surface and Tenancy and governance for identity, permission, policy, approval, revocation, and Audit.

Tools, MCP, Skills, Files, and Memory

Move reusable configuration to the resource that owns it:
  • declare tools and MCP servers on the Agent;
  • register third-party access through nonsecret Connections and Vault-owned Credential custody;
  • put reusable procedures in versioned Skills;
  • upload durable content as Files and attach it through Session resources;
  • put durable learned state in MemoryStores rather than in a harness-specific transcript.
The harness may change. The common resources and the durable Session event log do not.

Composition and desired state

Map scheduled or event-triggered autonomous work to Automation. Use AutomationGraph for composition while each specialized resource retains its own runtime authority. UI, HTTP, SDK, CLI, and MCP are interfaces over the same canonical resource operations, not independent owners. YAML and Git may supply desired state, but they do not become a second control plane, reconciler, scheduler, policy engine, or transcript. A resource has zero or one active desired-state owner. References and proposals claim nothing; adopting or transferring an existing resource requires an explicit, audited handoff. See Author an Agent project for the current source-authoring workflow.

Parity and availability

In-Session multi-agent orchestration (coordinator rosters, child SessionThreads, and the advisor) is a deliberate departure, not a gap: Checkfu composes agents through the Automation graph, and an Outcome is coordination between two agents done through that graph. Availability is a separate question: a behavior may still be restricted by provider qualification or rollout policy in a particular installation. Review capability status before depending on a managed runtime in production.

Migration sequence

  1. Create the target Workspace and Environment.
  2. Create each Agent. The first create produces AgentVersion 1.
  3. Move Skills, Files, MemoryStores, Connections, Vaults, and Credentials into their corresponding resources.
  4. Recreate PermissionAssignments, ActionPolicies, and approval behavior explicitly.
  5. Create a pinned Session and compare its durable event history with your source behavior.
  6. Move triggers to Automations only after direct Session execution is correct.

Create and version an Agent

Create the authored resource and inspect immutable AgentVersion history.

Environments

Configure the reusable execution environment selected by a Session.

Capabilities

Map Vaults, Credentials, Connections, Files, Memory, Skills, and tools.

Tenancy and governance

Map identity, PermissionAssignments, ActionPolicies, approvals, revocation, and Audit.

Author an Agent project

Keep desired state behind one active authoring owner.

Migrate from your own loop

Replace a hand-built loop with Session creation, events, and durable history.