Files
openclaw/docs/start
Peter Steinberger 198e3b37b2 feat(onboard): browser-first guided handoff (#110054)
* feat(onboard): add browser-first guided handoff

* chore: drop release-only CHANGELOG edit from browser-handoff branch

* fix(onboard): make browser handoff reach the gateway on real installs

The presence probe connected as a raw shared-auth client with a possibly
SecretRef-managed token, which the gateway rejects as an unpaired Control UI
client ("device identity required"), so the handoff never fired and always
fell through to the terminal hatch. Read presence as a CLI-mode loopback client
(the trusted path every openclaw command uses) so operator.read is granted, and
share that one auth path between the reachability gate and the wait loop. Also
short-circuit when gateway.controlUi.enabled is false so onboarding does not open
a dead dashboard URL and block for the full timeout.

* fix(onboard): share resolved target between handoff gate and wait

The reachability preflight now resolves the same target (and shared secret) the
wait loop uses, and presents the configured secret to the CLI-mode presence
read. Known remaining limitation: on fresh quickstart gateways whose auth token
is written to config but resolved differently at runtime, the presence read is
rejected with a token mismatch and the handoff falls back to the terminal hatch.
Tracked for follow-up before enabling the browser handoff by default.

* docs(onboarding): mark phase 3 browser handoff as held with diagnosis

* docs(onboarding): phase 3 proven end-to-end; token-mismatch hold was a test artifact

* fix(onboard): satisfy docs-map and test-type gates for the handoff branch

* refactor(onboard): split guided manual stage
2026-07-17 18:57:57 +01:00
..