Skip to main content
Terminal Use is a deployment platform for agents that need three things at the same time:
  • long-lived task state
  • persistent files at /workspace
  • production deployment primitives like versions, rollback, logs, and secrets

Why Terminal Use

Without Terminal Use, 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
Terminal Use brings those pieces together behind one runtime model and one deploy flow, while keeping filesystems as first-class resources separate from task lifetime.

The Product Model

If you understand these nouns, the rest of the docs become much easier: See Core Model for the full mental model.

The Two Main Loops

Build And Deploy

  1. Write agent code in Python.
  2. Run tu deploy.
  3. Terminal Use creates a new version and activates it on the resolved branch.

Run And Interact

  1. Create or choose a filesystem.
  2. Create a task for an agent.
  3. Send events to that task.
  4. 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/.claude and /root/.codex
  • Versioning, rollback, and logs
  • Environment secret injection
  • Runtime sandboxing around your handler execution

Public Surfaces

Terminal Use 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
That distinction matters because not every surface has feature parity. If a CLI, Python, or TypeScript example is shown in these docs, it should reflect a real supported surface.

Where To Start