-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
iOS app: node requests re-approval on every reconnect (token persistence bug) #98038
Copy link
Copy link
Closed
Closed
Copy link
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm 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: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.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.User-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.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:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm 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: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.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.User-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Type
Fields
Priority
None yet
Bug
The OpenClaw iOS app (v2026.6.10, iOS 26.5.1, iPhone18,1) fails to persist its device auth token across app close/reopen cycles. Each time the app reconnects to the gateway, it triggers a new permission re-approval request instead of presenting its existing approved device token.
Environment
gateway.bind=lan,ws://(no TLS, VPN-encrypted LAN)token(1Password SecretRef exec provider)Reproduction
openclaw qr) or manual setup (host + port + token)openclaw nodes approve <requestId>openclaw nodes statusshowspaired · connected · approvedpaired · connected · reapproval pendingopenclaw nodes approve <new requestId>is required every timeExpected behavior
The app should persist its device token (keychain) and present it on reconnect. The gateway should recognize the already-approved device and resume the session without requiring manual re-approval.
Actual behavior
The app appears to lose or not send its device token on reconnect, triggering a fresh permission escalation request each time. The gateway-side pairing record persists correctly (device shows as "paired" in
openclaw devices list), but the node connection keeps requesting new approvals.Additional notes
AUTH_TOKEN_MISSINGerror on reconnect after app close, suggesting the bootstrap token is not being persisted eitherWorkaround
Manual
openclaw nodes approve <requestId>on each reconnect, orgateway.nodes.pairing.autoApproveCidrsscoped to the VPN subnet (not ideal for security-conscious setups).