- long-lived task state
- persistent files at
/workspace - production deployment primitives like versions, rollback, logs, and secrets
Why TerminalUse
Without TerminalUse, teams usually have to stitch together several separate pieces:- packaging and deploying the agent
- running it in a sandboxed environment
- streaming messages back to users
- persisting state across turns
- moving files in and out of the workspace
The Product Model
If you understand these nouns, the rest of the docs become much easier:| Primitive | Role |
|---|---|
Agent | Your deployed runtime |
Task | One conversation or job running against an agent |
Filesystem | Persistent storage mounted into a task |
Project | Permission boundary for filesystems |
Namespace | Isolation boundary for compute and storage |
Environment | Deployment policy such as production or preview |
Branch | A branch-specific deployment slot |
Version | One deployable build |
The Two Main Loops
Build And Deploy
- Write agent code in Python.
- Run
tu deploy. - TerminalUse creates a new version and activates it on the resolved branch.
Run And Interact
- Create or choose a filesystem.
- Create a task for an agent.
- Send events to that task.
- Read messages, update state, and inspect files written to
/workspace.
What The Platform Handles
- Task routing and lifecycle
- Filesystem mount and sync
- Task-scoped system folders such as
/root/.claudeand/root/.codex - Versioning, rollback, and logs
- Environment secret injection
- Runtime sandboxing around your handler execution
Public Surfaces
TerminalUse has two distinct developer surfaces:- The Python runtime API, which you use to build agents with
AgentServer - The Python and TypeScript client SDKs, which you use to call deployed agents and manage resources from your app
Where To Start
- New to TerminalUse: Quick Start
- Writing the agent runtime: Building Agents
- Integrating from your app: Using Agents
- Understanding rollout behavior: Deployments