Skip to main content

tempest.yml

Tempest reads an optional tempest.yml (or tempest.yaml) at the project root when a workspace loads. Parsing never throws — a malformed file degrades with warnings instead of failing the load.

Full schema

Keys

security

The same shape as the Security sections in Project Settings — see Security & Isolation for what each layer does.

instructions

A free-text string of agent instructions applied to sessions in this project.

env

A map of variables injected into the agent process environment. The map is denylist-enforced: keys including PATH, NODE_OPTIONS, LD_PRELOAD, DYLD_*, PYTHONPATH, DATABASE_URL, and PG* are rejected with a warning.

preview

{ port } — an integer from 1–65535 that pins the dev-server port the Preview pane probes.

hooks

setup and teardown, each taking a single string or a list of them. These are shell commands run when worktrees are created (setup) or cleaned (teardown). Hooks are consent-gated by permissions.allowRepoHooks, stream output as hook:{token} events, run sequentially, and stop on the first failure.

Merge rules

UI project settings and tempest.yml combine tightening-only:
  • The stricter sandbox mode wins.
  • A restrictive network policy wins.
  • allowHosts lists are intersected; blockHosts lists are unioned.
  • rwPaths and roPaths are intersected.
  • Permissions are only ever revoked, never granted.
  • Database isolation can be switched on but not off.
  • Resource quotas take the minimum.

Example

A realistic file for a Node + Postgres project:

Precedence

Per-agent Environment settings and tempest.yml env both override provider presets.

Reference