blueprint apply step. You configure Checkfu by writing the resources you need through the ordinary API, SDK, CLI, MCP tools, or console.
What remains is stateless validation of Agent source, and direct Agent authoring with immutable AgentVersions. The CLI commands named here are private-alpha artifacts. Read CLI access before using them.
What you use instead
Validate Agent source
agentBlueprints.validateSource checks Agent configuration source and returns diagnostics. It stores nothing, claims no resource, and does not contact a live Workspace for ownership. In the TypeScript SDK it is checkfu.agentBlueprints.validate(organizationId, body, options?). See the TypeScript SDK.
For local work, checkfu agent info shows what the compiler reads from a project, and checkfu agent compile writes an inspectable generation under .checkfu. Neither command writes to a Workspace. The loop is in Author an Agent project.
Author an Agent directly
An Agent is reusable mutable configuration. A material change creates the next immutable AgentVersion. A Session resolves and freezes the AgentVersion and Environment at admission, so a later edit never rewrites a running Session. You can write an Agent in three ways:- Call Agent create and update from the API, SDK, or MCP tools.
- Run
checkfu agent createandcheckfu agent updatewith--input. - Keep an Agent project in Git and run
checkfu agent planandcheckfu agent apply. Pass--agent-idto bind the directory to an existing Agent. Without it,applycreates a new Agent and prints its ID.
agent plan and agent apply are client-side work over the same create and update operations. Reapplying an unchanged project creates no new AgentVersion.
Resources agent apply does not manage
agent apply writes Agent configuration only. No command applies Budgets, PermissionAssignments, ActionPolicies, Connections, Automations, or Memory declarations from a file. Create each of them through its own operation, then reference it from the Agent or Session that needs it.
Keep credential values out of source files, plans, and compiled output. A Connection authorizes through its own write-only path.