sase plan¶
Review, approve, reject, propose, search, show, and validate implementation plans
Reference for sase plan. Run sase plan --help for the exact output on this checkout.
usage: sase plan [-h] <subcommand> ...
Review the plan pipeline, approve or reject pending proposals from the Patch, inspect SDD prompt/plan links, submit a new plan for review, search SDD and machine-local plans, show one plan's details, or strictly validate one plan file. With no subcommand, sase plan defaults to sase plan list.
Bare sase plan defaults to sase plan list.
Options:
| Option | Description | Default |
|---|---|---|
-h, --help |
show this help message and exit | — |
Subcommands:
| Subcommand | Summary |
|---|---|
sase plan approve |
Approve a pending proposal or a plan file |
sase plan links |
List, refresh, repair, or validate SDD plan links |
sase plan list |
List plan proposals and approval history |
sase plan propose |
Submit a plan file for approval (used by /sase_plan skill) |
sase plan reject |
Reject one pending plan proposal |
sase plan search |
Search SDD and machine-local markdown plans |
sase plan show |
Show one plan's details |
sase plan validate |
Validate one plan file using its authored tier |
sase plan approve¶
usage: sase plan approve [-h] [-D ID=VALUE] [-n]
[-k {approve,commit,epic,tale}] [-m MODEL] [-P NAME]
[-p PROMPT] [-w SPEC]
[PLAN]
Approve a pending proposal or a plan file without a live approval gate. PLAN matches a live proposal first (notification ID, archive or bundle path, name,
Options:
| Option | Description | Default |
|---|---|---|
-D ID=VALUE, --decide ID=VALUE |
Answer one Plan Decision (repeatable as ID=VALUE; toggles take true/1/yes/on or false/0/no/off, choices take the exact key case-insensitively; giving the same id twice is an error) | — |
-n, --dry-run |
Preview the selected approval without changing files or launching work | false |
-h, --help |
show this help message and exit | — |
-k KIND, --kind KIND |
Approval kind (default: tale; epic plans require an explicit kind): approve runs coder without committing an SDD plan; tale commits to sdd/plans with tier tale; epic commits there with tier epic; commit records the plan without launching coder (choices: approve, commit, epic, tale) |
— |
-m MODEL, --model MODEL |
Optional model for the follow-up agent | — |
-P NAME, --project NAME |
Project for a plan without a live approval gate | — |
-p PROMPT, --prompt PROMPT |
Optional extra prompt text for approve/tale coder follow-up | — |
-w SPEC, --wait SPEC |
Comma-separated agent names and bead= |
— |
Arguments:
| Argument | Description |
|---|---|
selector |
Plan: name (TAB completes), |
sase plan links¶
usage: sase plan links [-h] <subcommand> ...
Inspect bidirectional artifact links between SDD prompts and plans, or reconcile projected plan provenance headers. With no subcommand, sase plan links defaults to sase plan links list.
Bare sase plan links defaults to sase plan links list.
Options:
| Option | Description | Default |
|---|---|---|
-h, --help |
show this help message and exit | — |
Subcommands:
| Subcommand | Summary |
|---|---|
sase plan links list |
List SDD artifact links |
sase plan links refresh |
Reconcile projected plan provenance headers |
sase plan links repair |
Infer and repair bidirectional SDD links |
sase plan links validate |
Validate SDD artifact links |
sase plan links list¶
usage: sase plan links list [-h] [-j] [-p PATH]
Print every SDD prompt/plan artifact link and whether its reverse link is intact. This is also the default for bare sase plan links.
Options:
| Option | Description | Default |
|---|---|---|
-h, --help |
show this help message and exit | — |
-j, --json |
Emit machine-readable JSON | false |
-p PATH, --path PATH |
SDD root or project root path (default: current project) | — |
sase plan links refresh¶
usage: sase plan links refresh [-h] [-j] [-p PATH] [-P REF] [-w]
Rebuild PARENT, BEAD, AGENTS, and COMMITS plan-header sections from durable state. The default is a read-only dry run; --write updates changed plans and commits them to the plans store in one batch.
Options:
| Option | Description | Default |
|---|---|---|
-h, --help |
show this help message and exit | — |
-j, --json |
Emit a machine-readable refresh report | false |
-p PATH, --path PATH |
SDD root or project root path (default: current project) | — |
-P REF, --plan REF |
Refresh only the plan named by REF | — |
-w, --write |
Write and commit changed plan headers (default: dry run) | false |
sase plan links repair¶
usage: sase plan links repair [-h] [-p PATH] [-w]
Options:
| Option | Description | Default |
|---|---|---|
-h, --help |
show this help message and exit | — |
-p PATH, --path PATH |
SDD root or project root path (default: current project) | — |
-w, --write |
Write inferred link fixes | false |
sase plan links validate¶
usage: sase plan links validate [-h] [-j] [-p PATH] [-q] [-W]
Options:
| Option | Description | Default |
|---|---|---|
-h, --help |
show this help message and exit | — |
-j, --json |
Emit machine-readable JSON | false |
-p PATH, --path PATH |
SDD root or project root path (default: current project) | — |
-q, --quiet |
Only print validation failures | false |
-W, --show-warnings |
Show warning-severity issues (hidden by default) | false |
sase plan list¶
usage: sase plan list [-h] [-j] [-n LIMIT] [-s {approved,proposed,rejected}]
[-t {tale,epic}]
Show pending plan proposals plus approved and inferred rejected archived plans. Filter the displayed sections by status and control the amount of approval history shown. This is also the default for bare sase plan.
Options:
| Option | Description | Default |
|---|---|---|
-h, --help |
show this help message and exit | — |
-j, --json |
Print plan inventory as JSON | false |
-n LIMIT, --limit LIMIT |
Maximum approved and rejected rows shown per section; 0 = unlimited; pending proposals are always shown in full (default: 10) | 10 |
-s STATUS, --status STATUS |
Show only these pipeline sections (repeatable; default: all) (choices: approved, proposed, rejected) |
— |
-t TIER, --tier TIER |
Filter by plan-file tier: tale or epic (repeatable) (choices: epic, tale) |
— |
sase plan propose¶
usage: sase plan propose [-h] PLAN_FILE
Submit a Markdown plan file for user approval. This command is intended for SASE agent runs with SASE_AGENT and SASE_ARTIFACTS_DIR set.
Options:
| Option | Description | Default |
|---|---|---|
-h, --help |
show this help message and exit | — |
Arguments:
| Argument | Description |
|---|---|
plan_file |
Path to the plan .md file |
sase plan reject¶
usage: sase plan reject [-h] [PLAN]
Reject one pending plan proposal. PLAN matches exactly first (notification ID, archive or bundle path, name,
Options:
| Option | Description | Default |
|---|---|---|
-h, --help |
show this help message and exit | — |
Arguments:
| Argument | Description |
|---|---|
selector |
Pending plan: name (TAB completes), |
sase plan search¶
usage: sase plan search [-h] [-c {auto,always,never}]
[-f {compact,full,json,markdown}] [-k KIND] [-n LIMIT]
[-A DATE] [-o {all,repo,local}]
[-r {relevance,recent,title}] [-s {wip,done}]
[-B DATE]
[query]
Find plan artifacts whose text contains a literal, case-insensitive query string, across plans in the resolved SDD store (the repo source, prioritized) and the machine-local ~/.sase/plans/ archive. The query is optional: omit it to browse and filter. SDD-store plans are surfaced above local plans on equal-relevance ties.
Options:
| Option | Description | Default |
|---|---|---|
-c COLOR, --color COLOR |
Color output: auto, always, or never (default: auto) (choices: always, auto, never) |
auto |
-f FORMAT, --format FORMAT |
Output format: compact, full, json, or markdown (default: compact) (choices: compact, full, json, markdown) |
compact |
-h, --help |
show this help message and exit | — |
-k KIND, --kind KIND |
Filter repo artifacts by plan tier, prompt, or configured document-sidecar role (repeatable) | — |
-n LIMIT, --limit LIMIT |
Maximum results to print; 0 means unlimited (default: 20) | 20 |
-A DATE, --since DATE |
Only plans created on/after DATE (YYYY-MM-DD, YYYY-MM, YYYYMM, or relative 14d/2w/3m) | — |
-r SORT, --sort SORT |
Sort order: relevance, recent, or title (default: relevance with a query, else recent) (choices: recent, relevance, title) |
— |
-o SOURCE, --source SOURCE |
Which corpus to scan: all, repo, or local (default: all) (choices: all, local, repo) |
all |
-s STATUS, --status STATUS |
Filter by frontmatter status: wip or done (repeatable) (choices: done, wip) |
— |
-B DATE, --until DATE |
Only plans created on/before DATE (YYYY-MM-DD, YYYY-MM, YYYYMM, or relative 14d/2w/3m) | — |
Arguments:
| Argument | Description |
|---|---|
query |
Literal case-insensitive substring to match; omit to browse |
sase plan show¶
usage: sase plan show [-h] [-c {auto,always,never}]
[-f {compact,full,json,raw}]
[-t {auto,bead,name,path,proposal,ref}] [-w WIDTH]
[TARGET]
Resolve TARGET — an explicit path, a plan: reference or legacy marker path, a pending-approval id or unique prefix, a bare slug or <shard>/<slug>, or a bead id whose design points at a plan — to exactly one plan and render it as a colored, section-structured detail view matching the PLAN lane in sase's TUI. With no TARGET, show the sole visible pending plan proposal, exactly as sase plan approve/reject treat an omitted SELECTOR. In auto mode the ladder is tried in this order: path, ref, proposal, name, then bead; -t/--target forces one rung with no fallthrough.
Options:
| Option | Description | Default |
|---|---|---|
-c COLOR, --color COLOR |
Color output: auto, always, or never (default: auto) (choices: always, auto, never) |
auto |
-f FORMAT, --format FORMAT |
Output format: compact, full, json, or raw (default: full) (choices: compact, full, json, raw) |
full |
-h, --help |
show this help message and exit | — |
-t TARGET_KIND, --target TARGET_KIND |
Force one interpretation of TARGET instead of walking the ladder (default: auto) (choices: auto, bead, name, path, proposal, ref) |
auto |
-w WIDTH, --wrap WIDTH |
Wrap goal, phase, and diagnostics prose at WIDTH columns: integer >= 20, 'auto', 'none', or 0 (default: 88) | 88 |
Arguments:
| Argument | Description |
|---|---|
target |
The plan to show (default: the sole visible pending proposal) |
sase plan validate¶
usage: sase plan validate [-h] [-e] [-j] [-q] PLAN_FILE
Strictly validate exactly one Markdown plan file against the frontmatter schema selected by its tier: property. The command is hermetic: it does not require an active project or agent run. All discovered problems are reported in one pass; failures include the expected schema and a minimal valid example.
Options:
| Option | Description | Default |
|---|---|---|
-e, --explain |
Print tier-specific schema guidance before validation results | false |
-h, --help |
show this help message and exit | — |
-j, --json |
Emit a machine-readable validation envelope | false |
-q, --quiet |
Print nothing for a valid plan in human output mode | false |
Arguments:
| Argument | Description |
|---|---|
plan_file |
Path to the plan Markdown file |
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.