Skip to content

SlashCommandResult

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/modules/slashCommands.ts:281

The effects a dispatched command can request. The component interprets these; the command itself stays pure (no React, no I/O) so it is trivially testable.

optional approvals?: { show: true; } | { rung: "write" | "read-only" | "auto-safe" | "full-auto" | "bypass"; } | { trust: McpTrustRequest; }

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/modules/slashCommands.ts:319

CFG-27 — a requested action from /approvals. { show: true } asks the surface to DISPLAY the current posture; { rung } asks it to switch the session to that rung. The command itself stays pure — it cannot read the runner’s posture — so the surface owns the apply + the resulting-state notice (mirroring how /verbose / /debug defer their state-aware copy to the App).

There is deliberately NO toggle action: with five ordered rungs a flip has no honest meaning, which is also why /auto-approve and /bypass-approve were retired with the three-mode vocabulary that gave them their names.

EXT-70 adds { trust } — start or stop believing specific annotation hints from one MCP server (§4.7.1). It takes the same route for the same reason: the command cannot read or write the runner’s posture, so it states the request and the surface applies it and reports what landed.


optional clearTranscript?: boolean

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/modules/slashCommands.ts:292

When true, the component clears the transcript.


optional exit?: boolean

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/modules/slashCommands.ts:330

When true, the component quits the app (runs onExit).


optional level?: string

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/modules/slashCommands.ts:290

Level for the system line; defaults to ‘info’.


optional message?: string

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/modules/slashCommands.ts:288

A terse system line (incidental/error output); commands prefer notice.


optional notice?: SlashCommandNotice

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/modules/slashCommands.ts:286

A structured notice to commit into the transcript (the command’s user-visible feedback). Preferred over message for all commands so feedback is consistent and noticeable (TUI-C14).


optional reprintReasoning?: object

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/modules/slashCommands.ts:328

TUI-C18 — a committed turn’s thinking to REPRINT into the transcript (the /reasoning command). Committed reasoning is frozen in Ink’s <Static> and can never re-expand in place, so instead of mutating the old turn we emit a fresh block that reuses the TUI-C15 💭/gutter styling. The App turns this into a reasoning transcript item; the command stays pure (it resolves the target from turnReasonings). Absent when the command instead returns a friendly notice (no reasoning / out-of-range).

reasoning: string

turnNumber: number


optional setMouse?: boolean

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/modules/slashCommands.ts:302

TUI-C37 — the state /mouse asks the surface to move terminal mouse reporting to. The command stays pure (it cannot write escape sequences), so the App applies it and owns the actual enable/disable, the same division /approvals uses for the runner’s posture.


optional toggleDebug?: boolean

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/modules/slashCommands.ts:294

When true, the component toggles the docked debug panel (subagents + debug views).


optional toggleTools?: boolean

Defined in: _worktrees/docs-release/gaunt-sloth/packages/agent/src/modules/slashCommands.ts:296

When true, the component toggles tool-call panels between collapsed and expanded.