Skip to main content

Prompt variables

Prompts reference context with a double-brace syntax. When a step runs, the engine substitutes each placeholder with a value from the current context.

Syntax

{{repo_full}}
{{ commit_sha }}
{{extra.tenant_id}}
  • Wrap a key in double braces: {{key}}.
  • Whitespace inside the braces is fine: {{ key }} works.
  • Use dots to reach into nested objects: {{extra.tenant_id}} reads the tenant_id field of the extra object.

The matching rule is essentially {{ name(.name)* }} - a key, optionally followed by dotted sub-keys.

How values render

The engine resolves the reference against the context and renders it:

ValueRendered as
A stringThe string itself
A number / booleanIts literal value
An object or arrayJSON (with sorted keys)
Missing / nullThe literal text null

Because objects render as JSON, you can drop a whole structured value into a prompt with a single placeholder - useful for passing an earlier step's full result to the next.

What you can reference

A placeholder resolves if it names one of:

The builder validates references live, so a red token means the key won't exist at run time.

Next: the built-in variables that are always available.