> ## Documentation Index
> Fetch the complete documentation index at: https://docs.checkfu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent workbench

> Let signed-in users edit an Agent, inspect AgentVersion history, and preview changes in governed Sessions.

An agent workbench lets people author agents inside your product without giving the browser a Checkfu credential. Your backend authenticates the person, applies canonical Agent operations, and exposes only the application data the person is allowed to see.

Start with the [quickstart](/getting-started/quickstart). In one Workspace, create or update an [Agent](/concepts/agents), select an [Environment](/concepts/work-environments), and start a [Session](/concepts/sessions-and-runs). Session admission freezes the resolved AgentVersion and Environment authority. Every later interaction is read from and appended to the Session event log.

## What this example demonstrates

1. Creating an Agent also creates immutable AgentVersion 1.
2. A configuration-changing Agent update creates the next immutable AgentVersion automatically. There is no separate draft, publish, release, or deployment lifecycle.
3. A preview starts a new Session against the intended AgentVersion. An existing Session keeps the version and Environment frozen at its own admission.
4. PermissionAssignments constrain who may read, edit, or use the Agent. Actor identity comes from authenticated server context rather than a caller-selected attribution field, and Audit records structural control-plane decisions.
5. The browser talks only to the application backend. Workspace API credentials never enter browser code.

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
Workspace
├── Agent
│   ├── AgentVersion 1
│   ├── AgentVersion 2
│   └── AgentVersion 3
├── Environment
└── Session
    ├── frozen AgentVersion
    ├── frozen Environment authority
    └── durable event log
```

A workbench may offer a form or conversational builder. Where YAML or Git-backed authoring is available, it compiles desired configuration through the same canonical Agent operations. Only one authoring interface may actively own the Agent at a time. A second interface can inspect or propose a change, but it cannot become a competing writer or runtime reconciler.

## Trust, retention, and support boundaries

Treat cross-user admission as an isolation failure, not as an ordinary denied request. A denial means the trust system worked. Admission into another user's Session means the application or platform boundary failed and cleanup must not hide it.

Standard retention may preserve permitted Session content under the Workspace policy. ZDR does not durably retain execution content. A preview can stream only while an eligible Runner holds live custody, and later content replay is unavailable. Budget enforcement reads authoritative Usage rather than traces. Check [capability status](/getting-started/status) before depending on a particular harness, model, or execution topology.

## Pinned source boundary

The optional `checkfu-examples` source keeps its Checkfu client behind an application-owned platform port. This excerpt is retained byte-for-byte for the repository drift check. It demonstrates the application's isolation response, not a second Checkfu error ontology.

```ts path=examples/agent-workbench/server/src/platform.ts theme={"theme":{"light":"github-light","dark":"github-dark"}}
export class PlatformDenied extends Error {
	constructor(readonly reason: string) {
		super(reason)
		this.name = "PlatformDenied"
	}
}

export class PlatformIsolationBreach extends Error {
	constructor(
		readonly sessionId: string | null,
		readonly cleanupCause?: unknown,
	) {
		super("platform_admitted_cross_user_session")
		this.name = "PlatformIsolationBreach"
	}
}
```

## What this example omits

This page does not define collaborative editing, source-control ownership transfer, production harness support, or provider qualification. It also does not make the workbench a transcript authority. Session events remain the durable execution record.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.