← NEWS DESK
release impact

OpenClaw Main Makes Run Evidence Durable and Project Picking Identity-Aware

The Control UI can deep-link retained run evidence, keep new-session preferences private to an identified operator and clone GitHub repositories into Gateway-managed projects.

Independent operator analysis for people running OpenClaw in production · Editorial standards

OpenClaw has merged three Control UI changes into main that turn the new-session and incident-review workflow into Gateway-owned state: retained runs are inspectable by durable identity, identified operators get private preferences and recent projects across browsers, and GitHub repositories can be cloned into a managed project from the session picker.

The convenience is real, but so are the authorization and lifecycle boundaries. Multi-user operators should verify them before enabling the containing build broadly.

Activity can inspect durable run evidence

PR #119810 adds a read-only Run view under Activity. Operators with operator.read can deep-link or reload retained evidence using a run or execution selector instead of relying on browser-local live activity.

The view consumes the Gateway’s bounded audit.run.inspect projection. It exposes identity evidence, limitations, ambiguous execution candidates and decision-page status without inventing a new client-side audit store. Missing, expired, corrupt, unauthorized and disconnected states are rendered as explicit outcomes rather than empty UI.

This matters during incident review: live activity is a stream, not a durable receipt. A copied run URL can now point another authorized operator at the retained evidence that actually exists.

Do not mistake the inspector for unlimited forensic storage. The projection is bounded and redacted, and retained evidence can expire. Export incident records through your approved evidence process before retention removes them.

New-session state follows the identified operator

PR #121816 moves per-agent folder, worktree, model and thinking preferences into a self-scoped Gateway store. Recent projects are derived from sessions created by the authenticated profile and capped deterministically, rather than from a shared session roster.

On a multi-user Gateway, that prevents one operator’s recent folder from appearing in another operator’s picker. Preferences can follow the same identity between browsers.

Unidentified connections keep browser-local preferences and roster-derived recents. The Control UI migrates local preferences only when the identified user’s Gateway namespace is empty, then keeps local storage as a mirror.

Interpretation: shared terminals and kiosk browsers need an explicit sign-out and local-storage policy. Gateway identity isolation does not erase browser-local fallback state left by a previous unidentified session.

Archive and restore now require the observed session identity

PR #121169 tightens another multi-operator boundary. Archive and restore requests must carry the durable sessionId the caller observed. If another session replaces it under the same key, the stale lifecycle action fails with session-changed instead of cancelling, archiving or restoring the replacement conversation.

That is an intentional compatibility tightening for external callers that previously sent key-only archive or restore patches. Update custom integrations to carry expectedSessionId; do not catch the rejection and retry by key, because that recreates the race the fence is designed to stop.

The picker can clone GitHub repositories

PR #121818 adds remote search and Gateway-managed clone operations. Public repositories can be searched anonymously; GH_TOKEN or GITHUB_TOKEN enables affiliated/private results and private clones.

The Gateway accepts canonical GitHub HTTPS and default-port SSH forms, normalizes them to a credential-free HTTPS URL, serializes same-remote clones and stores checkouts in the managed projects area. Credentials are injected into the child Git environment rather than the URL, arguments, result or error text.

Clone is write-scoped. Read-scoped operators may search but should not see an enabled clone action. Deleting a managed checkout remains admin-scoped and is refused while an unarchived session or live managed worktree references it.

The process has a ten-minute server timeout, while the browser intentionally does not apply its normal 30-second request timeout. That means operators need visible clone progress and server-side process monitoring; a long browser request is not proof that Git is still healthy.

Rollout checklist

  1. Open a retained run by URL, reload it and verify redaction, authorization errors and expired-state text.
  2. Test an ambiguous run across all cursor pages, then select one exact execution.
  3. Sign in as two operators from two browsers; verify preferences and recents never cross identities.
  4. Test an unidentified browser and clear local fallback state before handing it to another user.
  5. Search and clone one public disposable repository with a write-scoped identity.
  6. Require a read-only identity to search but not clone.
  7. Test a private repository with a least-privilege token and inspect logs, argv and stored remote URL for credential leakage.
  8. Start two clones of the same canonical remote and require one managed project rather than competing checkouts.
  9. Attempt managed deletion while a live session or worktree references the repository; require refusal.
  10. Monitor clone timeout and orphan-process cleanup without using a production repository as the fixture.

Evidence and limits

The run-inspector source reports mocked-Gateway browser tests, typed state coverage and startup-bundle checks. Identity preferences include focused Gateway/UI suites and screenshot/video E2E evidence. The project-clone source reports URL, credential-redaction, authorization, clone-lifecycle and UI E2E tests. OpenClaw Academy reviewed the merged primary sources but did not clone a private repository or test a production multi-user Gateway.

Relevant collector records are 52747, 52757, 52845, 52880, 52743, 52842, 52876, 52935, 53033, 53062, 52758, 52846 and 52881.

Bottom line

The Control UI now has a stronger operator workflow: durable run evidence, identity-scoped session choices and managed repository onboarding. The safe rollout is to prove read/write scopes, browser-local fallback hygiene, token redaction and checkout lifecycle—not merely confirm that the new buttons appear.

THE RECEIPTS

Claims should survive the click.

Primary links used for this article are listed openly. If the evidence changes, the verification date changes with it.
  1. 01PR #119810: add durable Activity run inspector
  2. 02PR #121816: sync new-session preferences and recents by identity
  3. 03PR #121818: clone GitHub projects from the session picker
  4. 04PR #121169: preserve session identity through archive transitions

THE OPERATOR BRIEF

One useful email when the signal earns it.

Release impact, security changes and repository intelligence. No daily sludge.