Skip to main content

Workspace & collaboration

A workspace is a file area an agent can read from and write to with three tools: workspace_read, workspace_write, and workspace_list. It is how an agent persists results and builds up knowledge — writing files instead of stuffing everything into its context.

Example: the research report

The bundled research-lead uses its workspace for the final deliverable: it fans research out to sub-agents, receives their findings back as tool results, and then writes the assembled report.md into its own session workspace — where the user can open it from the Admin UI.

Note that sub-agents do not share a file area with their caller: each sub-agent runs in its own session, so its session workspace is a different directory from the parent's. Work travels between agents as tool-call arguments and results, not through shared files.

The three scopes

A workspace is not a single bucket — it has three scopes, each with a different lifetime and visibility:

ScopeLifetimeVisibilityUse for
SessionOne conversationThe agent in that sessionScratch space — plans, intermediate findings, the report being assembled.
Agent + userPersists across sessionsOne agent, one userAn agent's long-term memory of working with a specific user.
UserPersists across sessionsAll agents, one user (read-only for agentsworkspace_write only accepts session and agent)A cross-agent user profile any agent can draw on.

The agent-user and user scopes give agents durable memory that outlives a single conversation, without putting it into the live context window.

Why files instead of context

Passing results as files keeps token usage bounded: a sub-agent can produce a large report, write it to the workspace, and return only a short pointer to it. The orchestrator — and the user — can open the file when needed, but it never weighs down the main conversation. This pairs naturally with the per-agent memory strategies: memory bounds what the model remembers, the workspace bounds what it has to carry.