Skip to main content
TerminalUse 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 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
TerminalUse 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:
PrimitiveRole
AgentYour deployed runtime
TaskOne conversation or job running against an agent
FilesystemPersistent storage mounted into a task
ProjectPermission boundary for filesystems
NamespaceIsolation boundary for compute and storage
EnvironmentDeployment policy such as production or preview
BranchA branch-specific deployment slot
VersionOne deployable build
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. TerminalUse 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

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
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