Skip to content

sase gate

Create or wait for durable command-backed gates

Reference for sase gate. Run sase gate --help for the exact output on this checkout.

usage: sase gate [-h] {act,answer,cancel,create,list,show,wait} ...

Create durable command-backed gates from versioned JSON specifications, inspect what they ask for, run their repeatable actions, answer them headlessly, and wait mechanically for their terminal results.

Bare sase gate defaults to sase gate list.

Options:

Option Description Default
-h, --help show this help message and exit —

Subcommands:

Subcommand Summary
sase gate act Run one repeatable gate action without answering the gate
sase gate answer Answer a durable gate headlessly with typed input
sase gate cancel Cancel one pending gate or gate turn
sase gate create Create a durable gate from a JSON specification on stdin
sase gate list List gate turns (rich table by default, -j/--json for JSON)
sase gate show Print the branches, declared inputs, and actions of a gate
sase gate wait Wait mechanically for a durable gate to reach a terminal state

sase gate act

usage: sase gate act [-h] -i REQUEST_ID [-I JSON] [-j] -k KIND -o ACTION_ID
                     [-Q PATH] [-R PATH]

Run one action a gate declares. An action never answers the gate and may be run as many times as needed: a run_command action prints its output, and an edit_file action opens its edit target in $VISUAL/$EDITOR and reports whether the edit was accepted. This is the supported alternative to running a bundle's command by hand.

Options:

Option Description Default
-h, --help show this help message and exit —
-i REQUEST_ID, --id REQUEST_ID Gate request id from the creation descriptor (required) —
-I JSON, --input JSON JSON input for a run_command action, as a literal, @FILE, or - for stdin —
-j, --json Emit the action result as stable machine-readable JSON false
-k KIND, --kind KIND Gate kind from the creation descriptor (required) —
-o ACTION_ID, --operation ACTION_ID Id of the declared action to run; see sase gate show (required) —
-Q PATH, --request-path PATH Private versioned operation request sidecar. Defaults to $SASE_PROC_REQUEST_PATH when that environment variable is set. —
-R PATH, --result-path PATH Private versioned typed result sidecar. Defaults to $SASE_PROC_RESULT_PATH when that environment variable is set. —

sase gate answer

usage: sase gate answer [-h] [-d | -D] [-f FEEDBACK] -i REQUEST_ID [-I JSON]
                        [-j] -k KIND [-o OPTION_ID] [-O OPTION_ID=JSON] [-R |
                        -r] [-s FIELD=VALUE]

Answer a gate by selecting one branch's options and supplying each selected option's declared input. Input is delivered to commands as JSON on stdin and never as command arguments. Per-option values (--set, --option-input) and one shared value (--input) are mutually exclusive submission contracts.

Options:

Option Description Default
-d, --detach Submit to a supervised background proc instead of answering inline, so an approved command survives this client exiting; gate turns default to this false
-f FEEDBACK, --feedback FEEDBACK Reviewer note; delivered as input.feedback to every selected option whose schema declares it —
-h, --help show this help message and exit —
-i REQUEST_ID, --id REQUEST_ID Gate request id from the creation descriptor (required) —
-I JSON, --input JSON One shared JSON value for every selected option, as a literal, @FILE, or - for stdin (legacy contract) —
-j, --json Emit the stable machine-readable answered result false
-k KIND, --kind KIND Gate kind from the creation descriptor (required) —
-D, --no-detach Answer inline even for a gate turn, overriding its detached default false
-o OPTION_ID, --option OPTION_ID Select one option of a single branch; repeat for an AND branch —
-O OPTION_ID=JSON, --option-input OPTION_ID=JSON Whole JSON input value for one selected option, as a literal, @FILE, or - for stdin; repeat per option —
-R, --restart Run the whole branch again after a partially executed attempt false
-r, --resume Continue a partially executed option branch, or resume an already-answered turn whose requested follow-up never launched false
-s FIELD=VALUE, --set FIELD=VALUE Set one declared input field, typed by its declaration, on every selected option that accepts it; repeat for more fields —

sase gate cancel

usage: sase gate cancel [-h] [-i REQUEST_ID] [-j] [-k KIND] [-r TEXT] [ID]

Cancel a pending gate by kind/request id, or cancel a pending gate turn by id (or unique id prefix), member agent name, or owning agent name. No follow-up agent is launched, even when one was recorded, unless the gate had already been answered concurrently -- that settles as answered instead.

Options:

Option Description Default
-h, --help show this help message and exit —
-i REQUEST_ID, --id REQUEST_ID Gate request id from the creation descriptor —
-j, --json Emit a machine-readable JSON result false
-k KIND, --kind KIND Gate kind from the creation descriptor —
-r TEXT, --reason TEXT Reason recorded on the cancellation (default: a generic CLI reason) —

Arguments:

Argument Description
gate_ref Gate-turn id (or unique prefix), member agent name, or owning agent name

sase gate create

usage: sase gate create [-h] [-n NEXT] [-f {session,turn,none}]
                        [-m NEXT_MODEL] [-N {none,results,tail,file}]
                        [-o ORIGIN_AGENT] [-p PANEL] [-P PANEL_ICON]
                        [-s SENDER] [-t TAG] [-G] [-g TURN_STATUS]
                        [-E TURN_STOP_STATUS]

Read a schema-versioned gate specification from stdin, create its verified action bundle and notification, then emit a stable JSON descriptor containing the gate kind and request id.

Options:

Option Description Default
-h, --help show this help message and exit —
-n NEXT, --next NEXT Follow-up prompt for a created gate turn —
-f {session,turn,none}, --next-fork {session,turn,none} Gate-turn follow-up fork policy (choices: none, session, turn) —
-m NEXT_MODEL, --next-model NEXT_MODEL Model selector inherited by the gate-turn follow-up —
-N NEXT_OUTPUT, --next-output NEXT_OUTPUT Gate-turn follow-up output channel; repeat for multiple channels (choices: file, none, results, tail) —
-o ORIGIN_AGENT, --origin-agent ORIGIN_AGENT Attribute the gate to the agent it was filed on behalf of —
-p PANEL, --panel PANEL Place the gate's notification in a named notification panel tab —
-P PANEL_ICON, --panel-icon PANEL_ICON Emoji or glyph identifying that panel tab; required whenever a panel is declared —
-s SENDER, --sender SENDER Override the notification sender in the gate presentation —
-t TAG, --tag TAG Add a notification tag to the gate presentation; repeat to add more —
-G, --turn Create a gate turn that owns the decision and hands off this agent false
-g TURN_STATUS, --turn-status TURN_STATUS Pending status label for the created gate turn —
-E TURN_STOP_STATUS, --turn-stop-status TURN_STOP_STATUS Settled status label for the created gate turn —

sase gate list

usage: sase gate list [-h] [-a] [-f {table,markdown,json}] [-j] [-l NAME]
                      [-n N] [-p NAME] [-s STATE]

List gate-turn agent session members, newest first, mirroring sase monitor list. By default this shows only pending gate turns, including any still holding a workspace claim; pass --all to include settled ones too.

Options:

Option Description Default
-l NAME, --agent NAME Only gate turns belonging to this agent —
-a, --all Include settled gate turns, not just pending ones false
-f FORMAT, --format FORMAT Output format: 'table' (default), 'markdown', or 'json' (choices: json, markdown, table) table
-h, --help show this help message and exit —
-j, --json Emit a machine-readable JSON envelope (shorthand for --format json) false
-n N, --limit N Show at most N gate turns —
-p NAME, --project NAME Only gate turns from this project (default: every project) —
-s STATE, --state STATE Only gate turns in this state; repeat to add more (pending, settling, answered, completed, failed, timeout, stopped, lost) (choices: answered, completed, failed, lost, pending, settling, stopped, timeout) —

sase gate show

usage: sase gate show [-h] [-i REQUEST_ID] [-j] [-k KIND] [ID]

Print what a gate asks for: its branches, each option's declared input fields with their types, defaults, and choices, and every repeatable action it declares. A gate turn also prints its runtime state, workspace claim, and follow-up disposition. Use it to check that a gate you authored asks for what you intended.

Options:

Option Description Default
-h, --help show this help message and exit —
-i REQUEST_ID, --id REQUEST_ID Gate request id from the creation descriptor —
-j, --json Emit the stable machine-readable gate projection false
-k KIND, --kind KIND Gate kind from the creation descriptor —

Arguments:

Argument Description
gate_ref Gate-turn id (or unique prefix), member agent name, or owning agent name; an alternative to -i/--id plus -k/--kind for a gate created with --turn

sase gate wait

usage: sase gate wait [-h] -i REQUEST_ID [-j] -k KIND [-t SECONDS]

Wait for a durable gate identified by the kind and request id emitted by sase gate create. The gate's configured timeout always applies; --timeout may impose an earlier caller deadline.

Options:

Option Description Default
-h, --help show this help message and exit —
-i REQUEST_ID, --id REQUEST_ID Gate request id from the creation descriptor (required) —
-j, --json Emit the stable machine-readable terminal result false
-k KIND, --kind KIND Gate kind from the creation descriptor (required) —
-t SECONDS, --timeout SECONDS Stop waiting after this many seconds, without extending the gate timeout —

Related: CLI command groups.

_[project]: A sase project is a named unit of work registered with SASE. _[workspace]: A sase workspace is a numbered clone of a project's primary repo, managed by the workspace store and tracked in that project's registry.json. _[agent]: A sase agent is an agent session or a single agent that does not belong to a session. _[prompt]: A prompt is the text SASE hands to a provider to start an agent turn. _[macro]: A macro is a reusable prompt triggered with #name in agent prompts. _[Patch]: A Patch is SASE's local unit of change. _[bead]: A bead is one tracked work item in SASE's git-native issue tracker. _[plan]: A plan is a persisted, approved artifact recording the intent behind agent work. _[TUI]: The TUI is SASE's terminal interface for running agents and reviewing results. _[epic]: An epic is an executable multi-phase plan run with sase bead work. _[gate]: A sase gate is a durable, command-backed request for one user decision, created when work must pause for the user. _[monitor]: A sase monitor is a monitor turn that runs one long command under a detached supervisor, so the command outlives the agent that started it. *[stitch]: A stitch is the lightweight ordered change record inside a Patch's STITCHES: section.