-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
[Regression]: sessions_spawn missing scope operator.write — introduced between v2026.6.1 and v2026.6.11 #98614
Copy link
Copy link
Open
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.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:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.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.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Description
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.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:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.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.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Type
Fields
Priority
None yet
Summary
sessions_spawnfails withmissing scope: operator.writeon OpenClaw 2026.6.11, in a setup that works correctly on 2026.6.1. This is a confirmed regression, not a longstanding issue — same deployment, same config, only the OpenClaw version differs.This has the same symptom as #77807, but that issue was reported on 2026.5.4/2026.5.6 and doesn't establish when/why it regressed relative to a known-working version. This issue adds a bisection to the exact introducing commit.
Environment
2026.6.1, production deployment2026.6.11(current "Latest" release), staging deployment, same configbind: lan, token auth (auth.mode: "token")sessions_spawntool available and allow-listed for the target roleSteps to reproduce
googlechatchannel enabled.sessions_spawntool withrole: "<other-agent>").{ "status": "error", "error": "missing scope: operator.write", "childSessionKey": "agent:<role>:subagent:<uuid>", "runId": "<uuid>", "role": "<role>" }Root cause (bisected)
Diffed
src/gateway/call.tsbetweenv2026.6.1andv2026.6.11.shouldOmitDeviceIdentityForGatewayCallchanged:The new
|| params.allowAuthNone === truebranch, combined with the newrequireLocalBackendSharedAuth/allowAuthNoneplumbing added at the call site, widens the conditions under which device identity (and therefore the resolved operator scopes) is omitted for internal loopback Gateway calls — matching the mechanism described in #85716 as the cause of #77807.This was introduced in commit
e085fa1a3ffd32d0ea6917e1e6fb4ecbffbb77d2("ci(release): stabilize anthropic live smoke selection"), dated 2026-06-29 19:00:39 -0700 — less than 24 hours before thev2026.6.11stable tag (2026-06-30). No pull request is linked to this commit via the GitHub API, which made it hard to find from the issue tracker alone.Related issues / PRs
missing scope: operator.writeonsessions_spawn, reported on 2026.5.4/2026.5.6 (predates this regression's introducing commit — likely a related but distinct occurrence of the same general fragility in this code path)clearUnboundScopes strips operator scopes unconditionally for non-local token-auth clients(regression, security review needed)Impact
Any deployment using the Google Chat (or similar loopback/local-backend) channel to trigger
sessions_spawn-based multi-agent delegation breaks on upgrade to 2026.6.11, with no config-level workaround —allowAgents/tool policy on the caller are correctly configured and are not the issue.Expected behavior
sessions_spawnfrom a Google-Chat-triggered main-agent session should succeed as it does on 2026.6.1, preserving the operator device identity (and thereforeoperator.writescope) for calls that explicitly request operator scopes.