Skip to content

Strict exec timeout semantics: retire askFallback timeout re-admission #104519

Description

@steipete

What Problem This Solves

docs/refactor/operator-approvals.md defines the strict final contract: timeout -> expired -> deny. Plugin tool gates fail closed since the durable-approvals stack (#103932), but the exec surface still allows askFallback: "full" / "allowlist" to convert a timed-out approval into execution authority (src/agents/bash-tools.exec-host-shared.ts, src/agents/bash-tools.exec-host-gateway.ts, and the one-shot consumeAskFallback replay in src/gateway/node-invoke-system-run-approval.ts).

Why Now

#103515 (exec approval revocation races) has merged — it was the stated blocker for this cutover. The durable stack deliberately preserved the shipped askFallback semantics as process-local one-shot re-admission; this issue tracks retiring it.

Scope

Code + types + docs (docs/tools/exec-approvals.md, docs/cli/approvals.md) + tests + release-note context together, with explicit owner/security review per the design note. askFallback may keep describing pre-gate policy selection; it must not turn a created pending record's timeout into approval.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority user-facing bug, regression, or broken workflow.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.maintainerMaintainer-authored PRmaturity:stableIssue affects a taxonomy feature currently scored M4/M5.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions