Skip to content

runtime.yaml reference

Every field of the runtime manifest, accepted values, and defaults.

The runtime.yaml manifest describes a runtime’s durable configuration — the identity record plus the config that persists across sandbox lifecycle. This page enumerates every field the CLI and platform accept.

For authoring guidance, see Configuration.

FieldTypeRequiredDefaultNotes
versionstringNov2Must be v2. Rejected if any other value.
capabilitieslistNo[]Capability bindings installed on the runtime. See below.
defaultsobjectNo{}Defaults new sessions inherit when they don’t specify their own. See below.
secretsobjectNo{}User secrets to inject as environment variables in the sandbox. See below.
buildobjectNo{}Build profile and source for the sandbox image. See below.
resourcesobjectNo{}CPU and memory shape of the sandbox. See below.
sandboxobjectNo{}Sandbox lifecycle and host-side exposure. See below.
runtime_serverobjectNo{}Environment for the runtime server process inside the sandbox. See below.
metadataobjectNo{}Free-form labels attached to the runtime record.

Identity lives outside the durable configuration. Set fields inline at the top level or under an identity: block — the two forms are mutually exclusive per field.

FieldTypeRequiredNotes
projectstringNoProject key or UUID. Falls back to active profile project, then workspace default.
keystringWhen project is omittedWorkspace-scoped runtime key.
namestringWhen project is omittedDisplay name (1–100 characters).
descriptionstringNoFree-text description (up to 500 characters).

Each entry is a capability binding.

FieldTypeRequiredDefaultNotes
namestringYesCapability name. Must be non-empty.
versionstringNolatestPin to a specific version; omit to track the latest.
enabledbooleanNotruefalse installs the capability but leaves it inactive.
FieldTypeDefaultNotes
capabilitystringnoneCapability name used as the default agent source for new sessions.
agentstringnoneAgent name used when a session doesn’t specify one.
modelstringnoneModel identifier used when a session doesn’t specify one.
system_promptstringnoneExtra system instructions appended to new sessions.

Specify one of secret_ids or selectors. Mixing both in one manifest fails validation.

FieldTypeNotes
secret_idslist of UUIDsExact IDs of configured workspace secrets.
selectorslist of stringsCLI-only. Name-based patterns (glob *, ?, [...]) resolved against workspace secrets.

The CLI resolves selectors into secret_ids before submitting the manifest. Exact selector names are strict; glob selectors are best-effort. Duplicates are de-duplicated.

FieldTypeDefaultNotes
profilestringdefaultBuild profile name. Must be non-empty.
providerauto | docker | e2bautoWhich sandbox provider to target.
source.kindstringbuiltinSource type for the build.
source.refstringruntimeSource reference within source.kind.
FieldTypeDefaultRange
cpu_coresinteger21–32
memory_mbinteger2048512–131072
FieldTypeDefaultNotes
timeout_secondsintegernoneSandbox expiry in seconds. Minimum 60. Omit for provider default.
workspace_mountbooleantrueMount the project workspace into the sandbox.
exposed_portslist of ints[]Ports to expose for host-side access. Must be 1–65535. Deduplicated.
FieldTypeDefaultNotes
envmapping of string → string{}Environment variables for the runtime server process.

Use this for operational variables that control how the runtime server itself behaves (log level, proxy configuration). For secrets the agent should see, use secrets instead.

FieldTypeDefaultNotes
labelsmapping of string → string{}Free-form labels for search, filtering, and inventory.
key: analyst
name: Analyst Runtime
project: lab
description: Daily driver for the analysis team.
version: v2
defaults:
capability: dreadairt
agent: planner
model: openai/gpt-4.1-mini
system_prompt: |
You are a security research assistant.
capabilities:
- name: dreadairt
version: '0.4.1'
- name: cookbook
enabled: false
secrets:
selectors:
- OPENAI_API_KEY
- 'AWS_*'
build:
profile: default
provider: auto
resources:
cpu_cores: 4
memory_mb: 8192
sandbox:
timeout_seconds: 1800
workspace_mount: true
exposed_ports:
- 8080
- 9229
runtime_server:
env:
LOG_LEVEL: info
HTTPS_PROXY: http://proxy.internal:3128
metadata:
labels:
team: analysis
environment: staging