OpenClaw EnterpriseDOCSGitHub

Platform console

Open /console/ on your OCC address to manage Agents, Namespace Secrets, and supported Slack settings, workspace files, and credentials. Authorized operators can also open an Agent's native admin UI. The console has no rollback, live runtime health, or browser chat through OCE.

See Create and deploy Agents or Understand Agent detail. Operator setup and runtime checks belong to the deployment guide.

Start and sign in

If the Console says it could not load, click Reload page to try the same address again. If it stays on the loading screen without that button, use your browser's Reload command. The Console does not automatically reload the page.

Enter your provisioned account email and password, then select Sign in. Public signup, single sign-on, and self-service password recovery are unavailable; ask your administrator for an account or password reset. A wrong email or password always gets the same message. Other sign-in failures say what to do: wait the time shown after too many attempts, try again shortly when sign-in is unavailable, or open the console from its configured address when the API refuses the browser origin. For your own Installation, see the quickstart or deployment guide.

The console uses session cookies; it never stores tokens or accepts service keys. Expiry clears private content and drafts. Sign in again to return to the validated page after access checks. See sign-in destinations.

Customize deployment branding

Operators can replace the displayed product name, logo, browser icons, and semantic colors with a mounted theme bundle. See Apply a console theme for deployment steps.

Identify the control-plane build

With Debug mode enabled in Settings, the sidebar wordmark shows the first eight characters of the running OCC image's source commit, or dev for builds without metadata; hover for the full commit. Published images bake their source commit into the console HTML.

Browse and select a Namespace

The sidebar opens Agents, Credentials, or Namespaces. Credentials opens the Secrets tab for the selected Namespace. Installation administrators can also open Connection templates. Refresh repeats the read. Configure models during creation. Experimental Backends stay hidden. Namespace rows open their Agents.

Page Scope and permission
Agents Selected Namespace; Namespace read, then exact Agent read filtering.
Secrets Selected Namespace; Namespace read, then exact Secret read filtering.
Namespaces Installation-wide collection filtered by exact Namespace read.
Observability External observability.url link; Installation administer.

Create a Namespace explains creation and recovery. Delete a Namespace explains the trash control, cleanup blockers, and deletion recovery.

The Console uses light appearance and OCC-served fonts. Navigation focuses the destination heading; Open navigation opens the mobile drawer. The drawer scrolls independently and keeps the page behind it in place until it closes.

Click an Agent name or an open area of its row to open its details. Version links and Stop or Delete buttons keep their separate actions. Keyboard users can Tab to the Agent name and press Enter. An individual Agent header uses Agent details until an authorized read supplies its name.

While a Namespace provisions, the Agents list checks its status every ten seconds. If that check no longer lists the Namespace, the Console removes its Agent rows and previous row feedback, and disables Create Agent. Open row confirmations close and focus Search Agents. The unavailable status replaces empty-list messages. Submitted requests report acceptance, refusal or an unknown outcome without Agent names or IDs and without replay. Session expiry still requires sign-in. Clearing search does not restore the removed rows.

Opening an Agent shows its details page immediately. While it loads, Back to Agents returns to your place. A slow return to a retained page says Still checking… after one second. Refresh rebuilds; refocusing an unchanged page preserves edits, Slack searches, focus, and the Namespace selector; at phone width, focus in the open drawer moves to Open navigation. Views belong to one account, session, route, and Namespace. Sign-out, session changes, exit, or Backend denial clear them.

A previously shown Configuration denial can leave Agent metadata visible after reload and refocus. Refocus still checks current access. If the read before a channel Secret save is denied, the Console clears the binding controls and keeps the failed attempt's message. No save is sent. After access is restored, use Refresh to read saved state before retrying.

When you return to an Agent tab, the Console checks access again. Actions such as Delete Agent and Save Configuration need a fresh permission answer, even if the Console has to rebuild the page. A temporary detail read error can trigger one automatic retry. If the read still fails, the Console hides unconfirmed details and shows a warning. Retry checks access again when any server retry delay ends. A successful check can restore the view and your place in it.

Namespace switches readable scopes; Namespaces omits this selector. The account menu offers Settings (the signed-in account, with Sign out) and Sign out.

The URL keeps ?namespace=<id> across navigation, reload, and Back. An unreadable ID shows Namespace unavailable: the Namespace is missing or your access does not include it. On Namespaces, Choose a valid Namespace updates the URL in place.

During session and Namespace checks, the selector is disabled and hides its choices. Once the list is known, it names the destination's Namespace. On returns to the same page, later page reads do not block it. Without a readable Namespace, Agents and Namespaces explain how to get access; global pages remain available.

Switching Namespace from Agent detail or creation returns to Agents in the new scope; global pages stay open. The selector cannot broaden API authorization.

Inspect build and runtime images

Open Settings → Browser preferences and turn on Debug mode. The sidebar shows the full OCE source commit and per-container image observations for readable Agents in the selected Namespace. Turn it off in Settings to hide diagnostics and stop new image reads. Refresh retries unavailable metadata and updates the snapshot. Debug sidebar fields defines every field, Docker and Kubernetes differences, inspection scope, and unavailable states.

Manage Namespace Secrets

The Secrets page lists metadata, creates Secrets, replaces values, inspects consumers, and deletes unreferenced Secrets through the existing Secret API. Creation needs collection secret:create; replacement and deletion need exact secret:update and secret:delete. Read access does not grant mutation or use. The API authorizes each operation; a refusal disables the submitted action. Names are fixed, values remain unreadable, and entered material is never saved in browser storage. Consumer counts retain read-permission and truncation limits.

Follow Manage Secrets in the console for procedures, replacement delivery, deletion effects, and uncertain-write recovery.

Agent creation and deployment

Dedicated provisioning waits for first activation. If the first deployment fails, Create links to the original Agent and version. If a newer deployment takes over, Create explains the change and stays open without a deployment link. Ordinary creation saves a draft. Provide model and channel credentials when prompted, then select Deploy new version. If the Compute Driver requires them, OCC generates missing connection credentials during that first deployment. See Create and deploy Agents for the full workflow, Namespace status rules, channel constraints, and partial-write recovery. Plugin selections follow the API's Agent create/update contract: an omitted map is preserved, {} clears it, and deployment startup reports unsupported catalog or policy choices.

Inspect detail, versions, and channel drafts

Agent detail tabs, drafts, deployment details, diagnostics, authentication, versions, and the Slack channel editor are described in Inspect Agent detail, versions, and channel drafts.

Stop and resume an Agent

Select Stop Agent or the Agent's list-row Stop icon, review its effect, and confirm. Stop requires exact Agent operate. It requests shutdown while retaining version history, credentials, gateway state, and workspace files.

An accepted request means shutdown was queued; the list row shows Stop requested. Refresh stop status rereads the Agent's desired state and selected version without probing the runtime. After Stop, Request Stop again confirms a new stop intent, even without a selected version, but not when you can read no version, as before a first deploy (the list then shows no Stop icon). That does not prove cleanup finished.

To resume, open Open draft and select Deploy new version. See Stop and resume for worker lifecycle and preservation.

Delete an Agent

Select Delete Agent or the Agent's list-row Delete icon, then Permanently delete Agent. Exact Agent delete is required; read or operate is insufficient. Deletion removes the Agent, its versions, and its workspace data. Namespace Configurations and Secrets remain; see Agent deletion.

Refresh deletion status follows asynchronous cleanup. When the API confirms the Agent is gone, the console returns to that Namespace; meanwhile its row shows Deleting. A deleting Agent keeps Request deletion again behind confirmation. Failed cleanup can be replenished; queued or running cleanup is unchanged. A refused repeat explains the API's retry ownership.

Missing access disables a row icon with a reason. Denials remain visible; the console never resends either write. After an uncertain result, the action stays blocked until a status read succeeds or, in the list, until Refresh.

Failures and logout

An authorized empty list differs from a failed read. Access denials, unavailable dependencies, missing resources, and network failures clear affected rows and offer recovery. A denied Namespace list or draft Configuration read, and a control disabled for lack of access, names the grant the API checks, such as Agent operate to stop an Agent or AgentRevision read on each new version. A refused save says so and lists the grants the save checks, such as "Save was refused: your access does not include saving this Configuration." Other denials of your own permission, such as a recheck of an open Agent or a Slack lookup, show the API's sentence naming the missing grant; denials send you to an Installation administrator, who grants access. A version link the page cannot list says the version does not exist or your access does not include it, because a reader granted read per version cannot tell the two apart. A rejected model credential tells a person without Agent update which grants fix it: Agent update to choose another credential, or, for a Secret-backed credential, Secret update on that Secret to replace its value. It also says who gives them. A refusal the API explains, such as an invalid field, a name already in use or a lifecycle change, shows the API's sentence; a rate limit says how long to wait. The console also shows named dependency refusals, recorded deployment and policy outcomes, and field errors, with each setting as a dotted path. A generic answer, such as an unnamed outage, gets the console's own sentence: what failed, and who to ask if it continues. Include the displayed Request ID when you report an API failure. A current protected 401 clears private content and closes open channel editors and harness authentication controls. Interrupted response bodies and request deadlines keep the interrupted-read recovery path. View cancellation does not show a new failure, and a failed response never automatically retries a mutation. Backend discovery shows only configured IDs and types; see its limits.

Logout immediately hides private content and stops pending reads. The console returns to login once sign-out succeeds or a session check confirms no session. If it cannot confirm logout, it shows a blocking error with Retry; the server session may not be revoked.

Set initial workspace contents

The create form's Workspace files section contains editable OpenClaw defaults for AGENTS.md, SOUL.md, IDENTITY.md, and USER.md, as complete rendered templates: keep or replace each, or clear a field for an empty file. Textareas submit LF newlines. The form submits all four fields, including unchanged values, for application before the first deployment runs.

Creation stages these inputs privately; the live workspace editor becomes available after deployment. Staged inputs on an undeployed Agent have no editor; to correct them, delete the Agent (Delete Agent or the API) and create it again. If creation reports that defaults changed, reload the form and review them before resubmitting. See initial contents for the release binding, limits, and deployment failure behavior.

Edit workspace files

Open Workspace files on an Agent to load the same four files from the live workspace, not the Configuration draft or a browsed AgentRevision. Loading needs a selected version and a reachable gateway; selection does not prove access. Files are not copied into a Configuration or version.

Each file has Save and Reload. Save creates or replaces that file through the workspace file API, within its 16 KiB UTF-8 and Unicode limit. Loading requires Agent read; saving requires operate. The last writer wins. Reload replaces unsaved edits. The editor uses LF: loading a CRLF file does not enable Save or rewrite it, and saving an edit writes LF.

A failed write keeps the editor contents. An unknown outcome disables Save until Reload confirms the file or its absence. Review what loaded, or enter new content when the file is missing, before saving again. A denial or unavailable read leaves Save disabled. The editor never replays a write. Each file saves independently. For an unavailable gateway, follow the workspace access setup.

Open the native admin UI

When Agent native admin UI access is enabled, all Agent detail tabs, including Configuration and Workspace files, show Open chat for chat access or Open Agent UI for administration in the header and its availability information to callers with exact Agent operate or administer. Chat access uses operate; native administration uses administer. It is hidden otherwise, when the Installation disables the feature, and until the next sign-in or new tab after a denial. The panel reports a stopped Agent (including before first deployment) as needing to be started, asks you to check deployment and refresh access when a desired-running Agent has no selected version, and reports when native admin is unsupported. Installation administrators can share an Agent with an existing person.

Open Agent UI opens the Agent's selected version in a new tab, even from a draft or older version. Its visible warning explains that Gateway managed mode restricts administrative changes by default. OCE deployments can overwrite changes made while managed mode is off. Use OCE for durable configuration. The tab shares the console's OCE session cookie through the configured shared cookie parent domain; native chat or other Agent-host activity does not extend that session.

Routes

Supported pages are /console/login, /console/agents, /console/agents/new, /console/agents/:agentId, /console/backends, /console/namespaces, /console/secrets, and /console/settings. /console/ resolves the session and opens Agents. A page path with trailing slashes opens that page with status 200, and the address bar then shows it without them; the query, tab and hash stay. Unknown console paths return 404 and show a generic not-found page. See the request flow and local testing for implementation and verification.

Search documentation