-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
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.
Description
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
Priority
None yet
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 [email protected]`.
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.