Agents tab main deck¶
This page describes the Agents tab main deck, detail zoom, and the node rail.
Agents Zoom and Node Rail¶
The left column has three presentations, derived from deck-area state: EXPANDED by
default, RAIL when the persisted Ctrl+S preference is set, and HIDDEN while a deck
is zoomed (HIDDEN wins over RAIL). The persisted preference only ever means rail;
zoom never writes it.
Ctrl+S toggles the node rail: the same tribe panels and the same visible rows at a
fixed 22-cell width, row for row, so a row never moves vertically. Each agent row
carries its glyph plus its name: the glyph cell (? needs you, ✗ failed, ▶ running,
◐ starting, ○ queued, ◷ waiting, ✓ done, Ø user-stopped, plus kind glyphs for
monitors, gates, workflows, steps, and Patches) followed by the expanded row's identity
token. Nested names render relative to their parent (.cld, --plan), long names use a
middle ellipsis, and the width never fits to content, so the deck edge stays stable.
Color means urgency; the rail shows no runtimes, badges, or emoji. Settled-and-read
names render dim. Tribe titles are left-aligned (up to 18 cells), and the bottom border
counts off-screen rows (▴N ▾M).
Position is identity: rail row k is expanded row k. Hovering a rail row shows that
row's full expanded text as a tooltip, the identity header always names the selection
(so j / k is never blind), and ' jump hints plus the " node finder reach every
node. Focus stays on the list in rail mode, so every key works unchanged; runtime ticks
pause and catch up on expand. The footer shows Ctrl+S expand nodes while railed, and
the info row's nodes i/N · Ctrl+S chip is clickable. The ? help modal's Node Rail
box lists the full glyph legend.
Each rail agent row ends with a right-aligned ×N count in the shared count column and
a pip at the edge. ×N means "folded, N inside": it shows only when the expanded row
shows ×N, capped at ×99. The trailing pip cell shows the marked ▪ pip when marked,
the unread • pip when unread and unmarked, and blank otherwise — marked always wins
over unread. Tree guides (│ continuing, └ terminal) prefix child rows and clamp at
depth 3. Banners keep the expanded prefix vocabulary with the label and a heavy (L0) or
light rule that is always at least 1 cell; folded banners add the ×N count and a
1-cell urgency roll-up (? needs-you beats red ✗ failed beats gold • unread, else
blank). Collapsed tribe titles add their ×N lane roll-up the same way.
Z zooms the focused deck panel in place: it snapshots the deck-area state (layout,
panels, focus, ratio), then shows only the focused panel with the node column hidden
entirely — no rail. The zoomed panel gets a heavy border in its own deck accent, a
reverse-gold ZOOM chip leading its title, and a restore hint (◧ 1 of 2 · Z restore
from a split, Z restore from a single deck) leading its subtitle. The info row shows
the same clickable ZOOM chip, then Z restore, then node i/N (j / k still moves
the selection); the footer shows Z restore while zoomed. The panel keeps its widget,
card, and scroll position, and search, E, cards, and decks all work normally while
zoomed.
A second Z restores the snapshot exactly, as does Ctrl+S while zoomed ("in zoom, any
sidebar key gives your layout back"). Using a layout key (\, |) while zoomed only
restores the snapshot, keeping deck and card edits made while zoomed, so no split is
ever silently lost.
Agents Tab Main Deck¶
The Agents tab Main deck shows structured information about the selected agent as
Context and Reply cards (see
Agent data decks and cards):
Pressing V on any local Agents-tab row (running or done) opens that same agent's
metadata full-screen in the pager instead, as a sectioned document —
IDENTITY, MODEL, WORKSPACE, TIMELINE, CONTENT, SASE CONTEXT, and BEAD (skipping any that
would be empty) — with / search, ; goto, Ctrl+N/Ctrl+P section jumps, and y
copy. r inside the pager re-snapshots the agent, which matters for a still-running
one. The pager also supports split panes (\ below, | beside) — see
Split panes. V is unavailable for remote fleet rows and when
no agent is selected; other tabs keep V bound to the Agent Run Log modal.
Ctrl+J and Ctrl+K move to the next / previous card in the focused deck panel
(wrapping). In a paged Main deck this swaps the visible card; in a spread Main deck it
scrolls the next / previous card's header to the top. The chosen card is the panel's
preferred card: on a new selection the panel shows the preferred card when the node has
it, otherwise the default card (Context, or Summary for clan and tribe documents),
while the preference itself is kept. Numbered roster rows (SESSION TURNS,
CLAN MEMBERS, TRIBE MEMBERS, NEIGHBORS) live in the jump panel and are not cards;
within a session container's SASE CONTEXT region, its lane sub-headings (BEAD,
PLAN, ARTIFACTS, MEMORY, GLOSSARY, SKILLS, WORKSPACES) are fold anchors, not
cards — za/zA still reach them when they own the viewport's top row. Roster rows are
also not za/zA targets and are not covered by ,/ search. The shortcuts act on the
focused deck panel, and changing agents or entering/leaving a pinned attempt view keeps
the preferred card.
- Agent details: Name, status, model, provider, Patch association, and chronologically sorted timestamps:
Bead— shown for agents launched bysase bead work; modern phase and task rows use explicit bead launch metadata, phase rows also use epic/plan metadata and validated plan frontmatter, and exact epic plus legacy phase/.landrows retain compatibility inferenceWAIT— when the agent was spawned (waiting for a slot)BEGIN— when runner admission completed, before workspace preparation for slot-participating user agentsPLAN— each plan proposal round (multiple entries when re-planning occurs)FBACK— each time the agent requested feedback from the userQUEST— each time the agent asked the user a questionRETRY— each time the agent entered retry state (retryable error)CODE— when the agent began writing codeEPIC— when an epic follow-up agent was launched after plan approvalDONE— when execution completed- CLAN / MEMBERS: Selecting a synthetic clan shows the orchid
CLANidentity in the header and itsCLAN MEMBERSroster in the jump panel. Layered clans follow dependency wave order as in the Agents tree; one-wave clans use launch order. Their foldableWAVESladder shows one row per wave at every fold: collapsed rows carry label, pip, and members; expanded adds theaftercolumn with the same phrases as the roster group labels; fully expanded adds per-memberwaits onlines. It appears before the roster, or before the frozen summary in a detached live layout. Member numbers stay stable across status changes; rows show suffix, kind, status, model, and duration, with sequential session members indented.Ctrl+J/Ctrl+Kmove between Main cards, and row numbers jump to Agents-list members. At most 100 members are numbered. - SESSION: Shown when a real multi-member session root is selected. The collapsed
identity includes a
Models:strip with each distinct recorded provider/model pair once, in first-use order. It uses one row normally and a second row before omitting entries;+N morecounts hidden distinct models, anddexpands to the complete uncapped list. Missing model facts have a separate unknown count. The share budget gives model rows space before the optional RAW PROMPT preview, including when the preview setting is0. The cyan kind label renders as the header panel title and the cyanName:value matches the session row's identity block. The title is header chrome, not a card; theSESSION TURNSroster lives in the jump panel and is not a navigable section. On a session container, itsSASE CONTEXTheading opens the Context card region; its per-lane sub-headings (BEAD,PLAN,ARTIFACTS,MEMORY,GLOSSARY,SKILLS,WORKSPACES) stay fold anchors only. - AGENT TURN: Shown when a standalone sase agent or session member row is selected.
The gold kind label renders as the header panel title and the gold
Name:value matches the list-row name annotation. The title is header chrome, not a card. Monitor members and workflow step children (bash/python/parallel) do not get this heading. - Header panel: The selected node's identity header (every field from the kind line
through Timestamps, plus Fold where present) renders in its own always-visible panel
at the top of the detail column, above the deck panels in every deck layout.
Collapsed, it keeps the two chip rows — who and how on row 1, what and state on row 2
— and previews the agent's
RAW PROMPTbelow them as a card: aRAW PROMPTtab row over a rectangle on the Monokai code surface, so the prompt reads as one block apart from the metadata chips. Every card row carries the▎quote bar in the MACRO accent, which acts as the card's accent edge; hard-wrapped prose reflows into wrapped rows, hard breaks render as a dim¶, and the highlighting matches the expanded prompt. The card fills the panel width and shows at most three rows (ace.agent_header.collapsed_preview_max_rows), fewer when theace.agent_header.collapsed_max_shareheight budget of a short column is tighter (0still turns the preview off and shows no tab). Session model rows count against the target before optional preview rows, and the tab appears only when at least one body row fits. On overflow the last prompt row ends in…and the border subtitle becomes+N lines · ▾ d more(+1 linewhen one line is hidden).dexpands the panel to the full field list, complete model list, andRAW PROMPTunder its own heading (or collapses it back). The kind label moves into the panel's border title in the node's accent color —AGENT,AGENT TURN,SESSION,CLAN,WORKFLOW,STEP,GATE TURN,MONITOR TURN,NAMED PROC, or, for a selected whole tribe panel,TRIBE— and the border subtitle shows whatdwill do (▾ d more/▴ d less, naming the configuredtoggle_agent_headerkey). The panel is hidden only for "No agent selected".AGENT MACROdoes not render in the scrolling body and is not aCtrl+J/Ctrl+Kstop;,/still finds the user's words throughAGENT PROMPT. A clan's collapsed rows mirror the tribe layout: name, status, and count chip on row 1; tribes, member totals, runtime, and the fold chip on row 2. Collapsed/expanded state is per session and holds across row moves, tribe focus, and layout changes. Hint mode never changes the panel's state: expanded, its fields andAGENT MACROcarry hint markers numbered first; collapsed, it keeps its normal preview, header content gets no markers, and numbering starts in the deck body. Attempt-pinned views never renderedAGENT MACROand show no preview, and nodes without a macro show exactly the two chip rows inside the border. Deck search (,/) covers the focused panel's deck only, since header fields stay on screen. - Jump panel: Every live numbered roster target (session turns, neighbors, clan
members, tribe members) lives in its own always-visible panel at the bottom of the
detail column, below the deck panels in every deck layout; the Main deck body does not
contain these sections. The panel is shown only while the current document has
numbered targets — never for "No agent selected", nodes without rosters, fully
unnumbered rosters, or file-hint documents — and it stays visible during deck search
(
,/), since the digits keep working there. It is collapsed by default to at most two packed rows, where each visible number carries its roster label, shortened with a middle ellipsis only as far as it stays distinct from every other label (the packer shows fewer targets rather than ambiguous ones). When targets do not fit, the last cell is a dim+Ncount (with a lit▶MwhenMin-flight targets stay hidden); digits still reach every numbered target, including those counted in+N. In-flight targets fill the visible slots first, still in number order, and render lit in every view (see above)..expands the panel to the full roster sections, with their fold-driven annotations; expanded, it grows to at most 40% of the detail column, scrolls, and returns to its top when you select a different row. The border title is the color legend (JUMP, then one entry per section with its number range), and the border subtitle names the configuredtoggle_agent_jump_panelkey (▴ . more/▾ . less). Each collapsed cell echoes its roster row: the number chip in the roster style, the label, and the status glyph; a dismissed neighbor renders dim with a⊘prefix (and anarchivenote when narrowed), since its digit opens the agent read-only in the Archive. After the first digit of a two-key jump, the panel narrows to the matching candidates (JUMP · 1▁,esc cancel), or showsno targets start with <digit>; completing or cancelling the jump restores the collapsed or expanded view. Collapsed/expanded state is per session and holds across row moves, tribe focus, and layout changes. Toggling never rebuilds the document, and a bottom-pinned body stays pinned. Roster headings are not cards;za/zAcannot target a roster section or roster row (rosters follow the global panel fold keyszz,zZ, and the direct level keys); and,/deck search does not cover roster rows. - SASE CONTEXT / BEAD: Shown for epic phase workers and task workers. For an epic
phase worker, the lane is limited to its selected phase. Its fields are
Phase Title,Description,Size,Epic Plan, andEpic Title, in that order. The phase title comes from the same validated, frontmatter-ordered phase entry, is normalized to one line, wraps losslessly, and renders a quietunavailablefor missing, unreadable, damaged, or out-of-range entries. Exact validated sizes use literal bluesmall, goldmedium, or roselargechips; missing/unreadable/damaged plans, explicit invalid sizes, and out-of-range phase ordinals also show a quietunavailablesize. Modern explicit phase metadata avoids bead-store reads. The parent goal, dependencies, and peer phases are never rendered, and the parent plan does not become a generic artifact. For a task worker, the fields areTask Title,Description, optionalNotes,Size, optional+1 Reports/+1 Evidence, andCreated. A multi-lineNotesvalue (both bead types) or+1 Evidencevalue (task only) collapses to a one-lineN lines (zz to show)digest at metadata fold level 1 and renders in full at levels 2-3; single-line values never fold. - SASE CONTEXT / PLAN: Shown for the epic-authoring planner, epic lander, and task
workers with a distinct authored plan when direct metadata or a confirmed legacy epic
association resolves a plan. Phase workers deliberately omit the parent epic lane; no
goal or peer roadmap phase is rendered. A task bead's own
designfield is never rendered as the task worker'sPLANlane. For plan-bearing roles, the body rows areTitle,Goal, and canonicalPath, in that order; a tale additionally gets aSizerow betweenGoalandPath(the authoredxsmall/small/mediumchip, or a defaultedmediumchip when the tale'ssizewas missing or an over-sized legacylarge/xlargenormalized at launch). The lane header carries the effective tier (plan,tale, orepic) and an epic's phase count. Anapproveaction displaysplan,taleand legacy commit-only actions displaytale, and anepicaction displaysepic, even when the corresponding commit or launch later fails. Without action metadata, a valid authored tale or epic supplies the tier; legacy committed plans without a readable authored tier displaytale, and unresolved values displaytier unavailable. Canonical path selection remains separate: committed paths are workspace-relative, while pending or explicitly uncommitted paths use the home-shortened machine-local archive. Valid authored epics then show every phase in authored order with its title, fixed-width literal size chip, ID, dependency IDs, optional model, and optional description; these are static roadmap ordinals, not progress indicators. Launch-consumption validation normalizes only an omitted historical size tosmall; explicit invalid sizes remain unavailable. The chip stays visible while the title and every other value wrap without truncation in the normal panel and zoomed deck view, and logical text exposes the same labels to deck search and copy. Only the path participates in file hint mode. Invalid known epics showphases unavailablein the lane header without leaking partial entries; tales do not show a phase roadmap. A plan alone rendersSASE CONTEXT; across every combination of present lanes, the full order isPLAN,BEAD,ARTIFACTS,MEMORY,GLOSSARY,SKILLS, thenWORKSPACES, with absent lanes omitted once they resolve and still-resolving lanes holding their slot with a dimresolving…row. - SASE CONTEXT / GLOSSARY: Shown directly after
MEMORYwhenever the selected agent or session has at least one audited event under the retiredsase glossary readcommand. Currentsase memory read glossary:<keyword>reads surface in theMEMORYlane like any other memory read; this lane is the older glossary log (see TUI migration notes and Memory Webs). That lane's hints open the requested memory files (see Audited Reads). The lane header counts reads and distinct requested terms, adding the agent count for a multi-agent session. Each row shows the read's requested terms (truncated the same wayMEMORYtruncates paths), with a+N relatedsuffix when the closure expanded past the requested terms, and the recorded reason on its own indented line. A numbered hint pages a generated report of that read's output — the reproduced command line, recorded metadata, and the resolved term closure.@opens the report and%copies its path; the report names the recorded source path. Loading, attribution, and the mtime/size snapshot cache mirrorMEMORY's reference implementation; the lane is skipped rather than rendered empty when there are no reads to show. - SASE CONTEXT / ARTIFACTS: The plan-adjacent lane groups
Beads,Reads,Commits,Deltas, andFilesas compact fields, preserves that internal order, and summarizes only the present fields in its header.Beadscomes first and lists every bead the agent interacted with, newest first: each row shows the local time, one verb glyph, the full bead ID, an amber▐CREATED▌pill for beads the agent created (a standing close keeps its green/grey▐CLOSED▌pill priority and adds a compactcreatedchip instead), and verb chips (assignedfirst for assignment-only rows, then durable verbs such asnotedorclosed, thenread, thenviewed; repeats render×N). Indented↳lines show the bead title when available, then a labeledwhy:filing-reason line for created rows (the bead's creation reason), then the standing-close reason and the newest audited read reason with explicitclosed:/read:labels; rows with none of these omit↳lines.assignedmarks the agent's assigned phase, epic, orsase bead workbead even when it was never touched (such rows show the already-resolved title when available, have no timestamp, and sort last); it never claims the agent created the bead. At most the newest five rows render; when there are more, a dim+ N more · HH:MM earliestfooter reports the rest. A numbered hint opens the bead's live detail (thesase bead showview) in sase's pager,%copies the bead ID, and@is not supported for bead rows. Session rows add the producer label when every contributor to that bead shares one producer, and clan rows include their members' beads (de-duplicated and labeled per member). Auditedbead:reads live here and are excluded fromReads. The data and glyphs matchsase bead touched.Readsis the input side of the lane: each retained auditedsase artifact read(including when artifact links are disabled) appears newest-first with local time, the canonical reference, the recorded reason on a wrapped continuation line, and — on a session row — the compact producer label. The header counts every retained read event; the newest five rows render and a dim+ N more · HH:MM earliestfooter reports overflow. Repeated reads of the same reference stay separate. Prompt citations and silentshow/path/opencommands never appear. A read with a recorded resolved path participates in hint mode; a pathless or legacy row still renders its reference and reason, consumes no hint number, and never triggers live reference resolution. Commits persisted by the selected agent's post-run steps are grouped by repository; primary workspace, linked-repo, sidecar, and external-repo commits retain their repository identity. Deltas preserve their green+, gold~, and red-change glyphs and group linked or external files by repository. Artifact type remains visible through its icon shape, while every artifact icon, read row, and path uses the shared blue output-lane/file-path palette. This lane starts painting on the very first navigation frame:Commitsis derived from the selected agent's in-memory step metadata and needs no disk reads, so it renders immediately, whileReads,Deltas, andFiles— which do need store reads — fill in when the debounced enrichment resolves the lane. The immediate commit-only view is deliberately not cached, so the full lane still resolves on its normal schedule. An agent whose only artifact context is a read still getsSASE CONTEXTand anARTIFACTSlane. - Slow tool calls: The metadata header lists tool calls that took 20 seconds or
longer, ordered by start time and capped at 8 rows (an overflow line points to the
full LLM Calls panel timeline via
pthent). Level 1 is a compact triage table: every row keeps its timestamp, state, tool, duration, and a short path-, query-, or command-aware digest, while a dim tail reports that full commands are hidden. From position 2 upward, each row adds the complete command or target in an indented block that wraps with a hanging indent, plus start/end and outcome facts and any error. The lane's last position also adds output previews, subagent tool/token statistics, and each call's rank and share of selected slow time. These tiers are positional: an ordinary agent uses compact/detail/full across its three levels, while a session uses compact/full across its two.zaandzAcan change only this section. For a root agent the list aggregates calls across its children while attributing each call to the child that made it. - Wait state: For a
WAITINGagent gated by%wait, a duration wait, or an absolute-time wait, the detail view shows a taggedWait:block with one lane per active dimension:[agents],[beads],[time], then[capacity]. Present tags occupy a padded gutter, so every value begins in one aligned column and long dependency lists wrap with a hanging indent beneath that value column. The[agents]lane lists the dependency names recorded on the waiting agent, adds per-name status badges for currently known agents, clan containers, or session containers, and marks unknown names with?so typos and stale references are obvious. When a waited-on target is followed into an epic it launched, the[agents]lane narrates the hand-off in place with a teal↪:planner ✓ ↪ sase-7k ◐ in progress · 2/5 phases · since 14:32while following,↪ epic launching…while the launch is in flight, or↪ ! epic launch ended without an epic · resume: …when blocked. A canceled or superseded followed epic shows its resolution in place of the status word. Followed epics are never repeated in[beads]; that lane lists only authored bead waits. The[beads]lane uses the same status-bearing token as the compact row, without a count:run-bead ◐,done-bead ●, andbead-id ?for an unknown bead. A WAITING list row keeps agent and bead counts independent while placing matching bead statuses after their present agent status (▶1 ◐2,✓1 ●1); unmatched bead tokens trail in bead order. Unknown targets can render as adjacent independent counts (?1 ?2). Timed-only and capacity-only waits do not receive those markers. Timed waits add compact duration, target time, and countdown text when available. An authored capacity on aQUEUEDrow shows as the samecNbadge used elsewhere, and its detail context reports occupied capacity against that row's own admission budget. AQUEUEDdetail uses a separateQueue:line led by its rank and elapsed time sinceslot_requested_at, followed by cap context. It deliberately suppresses the marker's stale dependency, bead, and time-wait fields. - OUTPUT VARIABLES: Small JSON-shaped values written by the selected agent session
with
sase var setand bysase artifact create(the SASE-managedartifactslist). Strings, numbers, booleans, null, lists, and nested maps retain their types. A single contributing agent renders as a flat sorted key/value block; multiple session members render with compact role labels so root, planner, coder, tester, and follow-up values stay attributable. Lists, maps, and multi-line strings use an indented YAML-shaped block with type-specific colors. The section is omitted when the session has not published variables. These values are stored inagent_meta.json, so they are visible metadata rather than secret storage. - TRACEBACK: When an agent or workflow step recorded an error traceback, it renders
under its own
TRACEBACKheading after the prompt, directly above the reply heading (AGENT REPLYwhile running,AGENT CHATonce done or failed, orSTEP OUTPUTfor a workflow step), and is aCtrl+J/Ctrl+Kstop. - AGENT REPLY: The agent's live or completed reply content, streamed from
live_reply.mdduring execution and read from the artifacts directory after completion. When per-turn reply timestamps are available (recorded inlive_reply_timestamps.jsonl), the reply is displayed with timestamp dividers between each agent turn. While the Agents tab stays on that row, one in-flight reply follows those two files in place. The Reply card replaces only that live reply body; the rest of the detail document stays put, and a change to those two files does not refresh the agent list. The followed row is a selected running agent that is still executing. On a sequential session, that is only the current in-flight turn, and only when that turn itself qualifies; otherwise nothing in that session is followed. A row that is not a sequential session follows the row itself, or the latest of its follow-up agents, when that candidate qualifies. Bash and Python workflow steps are never followed. The first paint of an empty solo reply saysWaiting for agent response.... An empty session phase first saysNo response content yet.. The follow leaves that first-paint text in place until a timestamp chunk or reply text exists. If a reply that was already followed is cleared, the body becomesWaiting for agent response.... Hint mode keeps the first-paint text because the follow stays off. A change to either file schedules an update, and a status check of both files about once a second is the backstop. While the follow is idle, later updates are at least 0.3 seconds apart; the first update can be immediate. The follow waits while you are navigating or the prompt bar is open, and retries every 0.25 seconds. It stops for this row when you leave the Agents tab, when the detail view is pinned to one prior attempt number, or while hint mode is showing. Changing the selection cancels this follow; the newly selected row starts its own when it qualifies.Dswitches between the merged history and the current attempt only. That switch ends the current follow, and the view you land on starts its own when it still qualifies and no attempt number is pinned. If either file changes while it is being read, that snapshot is discarded and the follow tries again. For agents with follow-up phases (planner, feedback rounds, coder), the AGENT REPLY section consolidates replies from all phases into a single view with phase dividers showing each phase's label and start time. Phases follow the session's chain order: a monitor phase renders immediately after the turn that started it, including a monitor started by the session root, which renders after the root's own phase. Agent-turn members follow one rule,AGENT (<role>), derived from the member's session role:--planrenders asAGENT (plan),--codeasAGENT (code),--epicasAGENT (epic),--commitasAGENT (commit), and numeric feedback suffixes such as--2asAGENT (plan round 2). Custom session members render the same way with their suffix token, e.g.AGENT (bar). A monitor member is a named proc, so its phase renders as an amber⚙ MONITORdivider followed by the monitor's command, its recorded detail fields, and its full captured output — the same block the monitor's own panel shows. A gate-turn member renders as a lifecycle-colored⋔ GATEdivider with its decision, kind, state, deadline, reason, request identity, branch policy, follow-up disposition, and captured command output. Its phase remains in the consolidated session reply after settlement, including terminal branches that intentionally launch no successor. Older dotted and single-dash suffixes render the same way (see TUI migration notes). - WORKFLOW VARIABLES: macro workflow output variables from step outputs with
additional
meta_*keys are grouped under a dedicated header. The special routing keysmeta_project,meta_patch, andmeta_workspaceare promoted into the normal header fields;meta_changespecremains accepted as an alias formeta_patch(see TUI migration notes). Other metadata keys are title-cased and shown in this section. - PROMPT: For agents launched from a multi-agent (
----separated) prompt, the final, planner, and question transcripts include aPROMPT:row linking the saved original launch prompt (stored under~/.sase/.../multi_prompts/), so the exact text that fanned out into every segment stays recoverable.
g / G, Ctrl+D / Ctrl+U, and the bottom pin act on the focused deck panel.
Related¶
- TUI hub — all Agents tab reference pages.
- Agents tab LLM calls and tool runs — call and run panels.
- Agent statuses — agent, wait, and completion statuses.
_[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.