-
-
Notifications
You must be signed in to change notification settings - Fork 79.1k
5.26 regression: "Native hook relay unavailable" after relay re-register due to generation UUID staleness #87331
Copy link
Copy link
Closed
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper: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: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: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.
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper: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: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: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.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
After upgrading to
2026.5.26, codex tool calls intermittently fail withNative hook relay unavailable. Gateway restart fixes briefly, error returns.Environment
2026.5.26(10ad3aa)2026.5.22Root cause (from source diff 5.22 → 5.26)
dist/native-hook-relay-AN6S_wz5.js:5.26 added a
generation: randomUUID()field to each relay registration,embedded
--generation <uuid>into the tool command built bycommandForEvent,and added validation:
HTTP bridge also returns 410 with
stale registrationwhen auth doesn'tmatch current bridge:
Wrapper in
hooks-cli-Cy_Rqd6n.jsmaps the stale error to user-visible"Native hook relay unavailable".Failure sequence
UUID_A--generation UUID_A, sent to codexgeneration rotates to
UUID_B--generation UUID_AUUID_A !== UUID_B→ throws stale registration → user seesNative hook relay unavailableRepro
Workaround
Downgrade: `npm i -g openclaw@2026.5.22`.
Suggested fix direction
Either:
defs refresh, OR
the registration is alive (keep `requireGeneration` for explicit fencing
only), OR
unless registration intentionally invalidated).
Side note
Same `2026.5.26` update doctor logs unrelated `PluginStateStoreError:
Plugin state for telegram exceeds the 1000 live row limit` —
`telegram.message-cache` namespace writes rows with `expires_at = NULL`
which never get evicted. Probably worth a separate issue but flagging for
context since both surfaced together on upgrade.