-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
[Bug]: PreToolUse hook relay outage blocks trusted callback commands before ingress execution #87543
Copy link
Copy link
Closed
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.bugSomething isn't workingSomething isn't workingclawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper 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 does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.regressionBehavior that previously worked and now failsBehavior that previously worked and now fails
Description
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.bugSomething isn't workingSomething isn't workingclawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper 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 does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.regressionBehavior that previously worked and now failsBehavior that previously worked and now fails
Type
Fields
Priority
None yet
Bug type
Regression (worked before, now fails)
Beta release blocker
No
Summary
A PreToolUse hook relay failure can block trusted callback commands before the intended ingress handler starts. When the relay is unavailable, the hook returns a denial such as
Native hook relay unavailable, even for narrowly scoped callback commands that are already part of the product workflow.This creates a failure mode where the user action is valid, but the workflow never reaches its owned handler. Downstream code cannot acknowledge, publish, reject, retry, or record a terminal state because the command process is stopped before execution.
The issue is not specific to one approval object. It is a generic reliability gap in the hook relay path: trusted callback ingress should have a narrow, fail-closed fallback when the relay itself is unavailable.
Steps to reproduce
Example callback shape:
Example denial:
Expected behavior
Trusted workflow callback commands should be allowed to reach their owned ingress handler when all of the following are true:
All non-canonical commands should continue to fail closed.
The fallback should be applied in the actual PreToolUse hook runner path, not in an adjacent or later runtime bundle that is never reached when the relay failure occurs.
Actual behavior
When the native hook relay is unavailable, the PreToolUse hook denies execution before the trusted ingress handler starts.
The workflow sees no normal callback processing because the command process is never launched. This can leave the workflow in a pending state even though the user action was valid.
A patch in the wrong runtime layer may appear to pass isolated checks but still fail in production because the denial occurs earlier in the hook runner path.
OpenClaw version
2026.5.26
Operating system
macOS 26.5
Install method
npm global
Model
openai/gpt-5.5
Provider / routing chain
openclaw->codex->openai/gpt-5.5
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Impact and severity
Severity: High
Impact:
Security requirement:
The fix must not become a general command-execution bypass. The fallback should only allow exact canonical callback ingress commands with strictly validated actions and IDs, and everything else must remain fail-closed.
Additional information
Environment
Logs, screenshots, and evidence
Representative denied command shape:
Representative hook denial:
Important diagnostic evidence:
Recommended verification coverage: