Skip to content

Agent

An Agent is the running code.

The actual application: a Claude Code instance, a LangChain ReAct loop, a custom Python script using the tappass-agent SDK.

The Agent is the consumer of Policy. The Sandbox is the envelope it runs inside.

Isthe running code (Claude Code, LangChain, custom Python, …)
Lives withinone Project
Inherits Policy fromorg → project → its own overrides (cascade)
Runs inone or more Sandboxes (one per machine / deployment)
Hasone or more Sessions (each = one continuous run)

This trips people up. Two distinct things:

TermWhat it isExamples
AgentThe application logic"claude-code", "support-emailer-bot", "refund-processor-v2"
SandboxThe runtime envelope it executes within"support-emailer-bot running on tenant-acme's host"

One Agent can have many Sandboxes — one Sandbox per machine where the Agent is deployed. Each Sandbox enforces the same Policy (the Agent's effective Policy after cascade), via the same Compiled Policy, but as a separate isolated runtime.

Think:

  • Agent = the recipe (the Docker image, the Python package, the Claude Code installation)
  • Sandbox = the actual running container / process / installation
Org
Project (e.g. "Customer support")
│ contains
Agent (e.g. "support-emailer-bot")
│ deployed as
Sandbox (e.g. on tenant-acme's host machine)
│ has many
Sessions (each = one continuous run)

What "Agent" looks like for the four v1 targets

Section titled “What "Agent" looks like for the four v1 targets”
TargetWhat "the Agent" actually is
Claude CodeThe Claude Code installation on a developer's laptop
LangChain (via tappass-agent SDK)A Python process running a LangChain ReAct loop, importing tappass_agent
OpenShell + MontyThese are Provider targets, not Agents — they're enforcement layers around the Agent. The Agent is whatever code runs inside the OpenShell sandbox / Monty interpreter.
PersonaSurfaceWhat you do
Project admintappass agent create / listRegister an Agent within a Project
Agent ownertappass policy apply --level agent=<id>Author per-Agent overrides
Agent ownertappass-host start <sandbox-name> --agent <agent-id>Provision a Sandbox running this Agent