Skip to content

ApprovalsObjectConfig

Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/config/shell-policy.ts:604

On-disk approvals object form (root or per command). The scalar form is exactly sugar for { mode: <value> } (§9.1) — the union exists so the extras have a home when they are needed, not so there are two ways to say the same thing.

optional allow?: ApprovalEntry[]

Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/config/shell-policy.ts:615

§3 — declared allow-list: what the human has trusted. Read-only input.


optional deny?: ApprovalEntry[]

Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/config/shell-policy.ts:617

§3 — declared deny-list: what never runs. Read-only input; applies under bypass too.


optional escalate?: ApprovalEntry[]

Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/config/shell-policy.ts:622

§3/§3.2 — declared escalate list: a match always asks the human, whatever the rung would have done, and with no rating call. Read-only input; inert under bypass (§2.5).


optional mcp?: McpApprovalsConfig

Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/config/shell-policy.ts:635

EXT-70 §4.7/§9 — the per-server MCP relationship. Read through createEffectiveToolAnnotationSource (core/approvals/annotations.ts), which is the ONE place an effective annotation set is derived; nothing else re-reads this block.


optional mode?: "read-only" | "write" | "auto-safe" | "full-auto" | "bypass"

Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/config/shell-policy.ts:606

The rung. Absent = DEFAULT_APPROVAL_RUNG.


optional rater?: string

Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/config/shell-policy.ts:613

§9.1 — the identity profile the rater runs under, as a bare name (strict resolution, GS2-62: a name that does not resolve is a hard config error, never a silent fallback). Omitted = the main model. It is the only rater knob; nesting a one-field object is what this design removed.


optional raterTimeoutMs?: number

Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/config/shell-policy.ts:629

EXT-66 — wall-clock budget (ms) for ONE rating call. Absent = RATER_DEFAULT_TIMEOUT_MS (30s), which is a hosted-model number: a local rater is knowably slower, and when it runs out of time the gate escalates, so an unreachable timeout turns the permissive rung into one that asks about everything while every layer reports success.