Tessel Docsv2.4

Approval policies

Decide which actions Tessel takes on its own, which wait for a person, and which it never takes.

Updated Oct 9, 20266 min readEdit on GitHub

Tessel runs every session in a sandbox, but some actions reach outside it: pushing a branch, opening a pull request, calling a paid API. Approval policies decide which of those run on their own, which wait for a person and which are never allowed.

Policies live in tessel.toml next to your code, so they are reviewed like any other change. Workspace admins can add an org-wide floor that repositories can tighten but never loosen.

How approvals work

Before a tool call leaves the sandbox, Tessel matches it against your rules from top to bottom. The first rule that matches wins. When nothing matches, the default applies.

  1. The agent proposes a call with its exact arguments.
  2. Tessel looks up the decision for that tool and those arguments.
  3. An ask decision pauses the session and shows an approval card in the workspace, Slack and the PR thread.
Sessions keep working while they wait
A pending approval only blocks the step that needs it. Tessel continues with independent steps of the plan.

Risk levels

Each built-in tool carries a risk level that sets how the approval card looks and who may approve it.

LevelExamplesWho can approve
LowRead files, run testsAnyone on the repo
MediumPush a branch, open a PRSession owner
HighDelete files, force-push, paid APIsRepo maintainers

Configure a policy

You need the CLI to validate a policy locally before you commit it.

Install the CLI

Write tessel.toml

This policy lets Tessel run tests and builds freely, asks before anything touches main and blocks destructive shell commands outright.

tessel.tomltoml

Check it with tessel policy check. The command prints each rule with the calls from your last ten sessions it would have matched.

Remembered decisions

Choosing Always allow on an approval card writes a remembered rule scoped to the repository and tool. You can review and revoke remembered rules under Settings → Approvals.

Remembered rules never apply to high-risk tools. Those ask every time, by design.

Auditing decisions

Every decision is recorded with the approver, the arguments and the policy line that matched. Export the log as CSV, or stream it to your SIEM with the audit webhook.

  • Logs are kept for 400 days on Team and indefinitely on Enterprise.
  • Denied calls include the agent's next step, so you can see how it recovered.