Qortora · Search · Indexed page

docs.openclaw.aiFetched 2026-09-01T06:45:15Z

Cloud Sessions - OpenClaw

Run sessions on paired devices or throwaway cloud machines while the Gateway keeps the transcript, workspace, and credentials

Open original source · Full cached text

Cloud Sessions - OpenClaw OpenClawDocs Search...K 🇺🇸English🇺🇸 English🇨🇳 简体中文🇨🇳 繁體中文🇯🇵 日本語🇪🇸 Español🇧🇷 Português (BR)🇰🇷 한국어🇩🇪 Deutsch🇫🇷 Français🇮🇳 हिन्दी🇸🇦 العربية🇮🇹 Italiano🇻🇳 Tiếng Việt🇳🇱 Nederlands🇹🇷 Türkçe🇺🇦 Українська🇮🇩 Bahasa Indonesia🇵🇱 Polski🇷🇺 Русский🇮🇷 فارسی🇹🇭 ไทย🇺🇸English✓🇨🇳简体中文✓🇨🇳繁體中文✓🇯🇵日本語✓🇪🇸Español✓🇧🇷Português (BR)✓🇰🇷한국어✓🇩🇪Deutsch✓🇫🇷Français✓🇮🇳हिन्दी✓🇸🇦العربية✓🇮🇹Italiano✓🇻🇳Tiếng Việt✓🇳🇱Nederlands✓🇹🇷Türkçe✓🇺🇦Українська✓🇮🇩Bahasa Indonesia✓🇵🇱Polski✓🇷🇺Русский✓🇮🇷فارسی✓🇹🇭ไทย✓ Get startedInstallChannelsAgentsCapabilitiesClawHubModelsPlatformsGateway & OpsReferenceRelease & CIHelp Browse docs SectionGateway & OpsGet startedInstallChannelsAgentsCapabilitiesClawHubModelsPlatformsGateway & OpsReferenceRelease & CIHelp In this section Gateway Gateway runbookConfiguration ConfigurationConfiguration referenceConfiguration — agentsConfiguration — channelsConfiguration — tools and custom providersConfiguration examples Authentication and secrets AuthenticationAuth credential semanticsSecrets management1PasswordSecrets apply plan contractTrusted proxy auth Health and diagnostics Health checksHeartbeatDoctorAudit historyUsage telemetry and update checksLoggingOpenTelemetry exportPrometheus metricsGateway loggingDiagnostics exportTroubleshooting Scaling and operations Gateway lockBackground exec and process toolRestart recoveryCloud SessionsCloud WorkersMultiple gatewaysMulti-tenant hosting Security and sandboxing SecurityGateway exposure runbookSecure file operationsDependency lockingSecurity audit checksRate limitingOperator scopesSandboxingOpenShellSandbox vs tool policy vs elevatedSession permission modes Protocols and APIs Gateway protocolBuilding a Gateway clientEmbedding OpenClawOpenAI chat completionsOpenResponses APITools invoke APICLI backendsLocal modelsLocal model services Networking and discovery NetworkNode pairingDiscovery and transportsPortalsBonjour discovery Remote access Remote accessGive your Gateway a stable HTTPS URLTailscaleCloudflare Tunnel and Access Security Network proxyFormal verification (security models)Threat model (MITRE ATLAS)Contributing to the threat model Nodes and media NodesActive computer presenceNode troubleshootingMedia capabilities Media understandingMedia playbackImage and media supportAudio and voice notesCamera captureText-to-speech Node features Computer useTalk modeVoice wakeLocation command Web interfaces WebControl UINotificationsControl UI URLsDashboardSession DashboardsDashboard ArchitectureWebChatTUIThe Lobster Gateway & Ops/Gateway/Cloud SessionsCopy pageCopy pageCopy page as Markdown for LLMsView as MarkdownView this page as plain text↗Open in ChatGPTAsk questions about this page↗Open in ClaudeAsk questions about this page↗ Gateway Cloud Sessions Status: active Gateway & OpsGateway A cloud session is an ordinary session whose coding work runs on another machine. It appears in the sidebar, streams into chat, and keeps its transcript exactly like a local session — the Gateway stays the owner of the conversation, the reconciled workspace, model credentials, and placement records, while commands, file edits, and tool work execute remotely. If the remote machine disappears, the session and its durable state survive; how it resumes depends on the destination — cloud workers are replaced automatically on the next message, while an offline paired device keeps its placement and waits for the device to return. Sessions can run in three places, and every one of them uses the same session, the same chat, and the same Place picker: Destination The machine Best for Scope to dispatch Gateway (default) The host running openclaw gateway Everyday sessions — Paired device Your own hardware, connected once with openclaw connect Spare Macs, build boxes, servers you already own operator.write Cloud worker A throwaway machine leased through Crabbox Burst capacity, long jobs, isolation from your own machines operator.admin In all remote placements, model inference stays proxied through the Gateway — provider credentials never reach the remote machine — and completed work reconciles back into the session's managed worktree. Both the OpenClaw runtime (worker-turn) and Codex (remote-exec) can use the same destinations. A session is the conversation clients attach to. A device is paired hardware (node in the protocol); runner is an internal term for an execution host. Placement chooses where work runs, while isolation describes the boundary on that host, not another destination. Images and attachments Attach images and PDFs through the normal chat composer, including on later turns in an existing cloud session. The Gateway prepares native image input, including rendered pages from scanned PDFs. Codex receives image input through its Gateway-side app-server. Its remote-exec placement stages managed originals for remote file tools before execution; those temporary copies are excluded from workspace reconciliation. The retained-input rules below apply to OpenClaw worker-turn sessions. OpenClaw worker-turn sessions accept images, including image-only messages and ordered mixtures of inline and offloaded images. For models with vision support, the Gateway hydrates current input and recent replay from its managed media using the same image sanitization, ordering, and history pruning as local sessions. Text-only models receive attachment file paths without native image input. The Gateway keeps the canonical transcript and original attachment references; only the worker's input receives remote file paths. Attachments sent after dispatch are copied into the worker workspace through the authenticated transfer channel. This requires a current node-host installation as well as the worker bundle; update paired devices or the cloud profile's node package before using it. File tools can read their source files, including non-image attachments. Copies do not replace the active workspace or overwrite earlier worker edits to the same attachment. Placement and turn ownership are checked before transfer and launch; an unavailable or oversized current attachment produces an error instead of silently dropping the image. Unavailable historical sources, including originals expired by configured attachment retention, are omitted from replay staging with a warning so they do not block a new turn. Canonical transcript references and existing private copies remain unchanged. Raw inputs use an OpenClaw-owned directory under media/inbound/openclaw-staged-<id>/, with a local Git exclusion. Local and writable sandbox sessions use the same rule. Automatic input retention requires a producer-generated directory name and its intact regular .gitignore ownership marker; similarly named ignored project directories are not selected merely by their name. Input copies and edits remain available through workspace reconciliation, worker replacement, and managed-worktree removal and restore, but ordinary Git publication does not include them. To publish an image or document as part of the project, explicitly copy it to an ordinary project path first. Existing tracked files stay project-owned; this does not remove files from earlier commits or undo prior publication. Turn cancellation, admitted-run closure, or loss of the exact placement claim cancels attachment streaming and the node transfer invocation, and prevents the abandoned turn from launching. Once cancellation is observed, no subsequent attachment is installed. There is a bounded final-write limitation with fs-safe 0.5.6: an exclusive create() that has already been entered may finish and leave its private copy. The transfer still rejects after that operation returns. Previously completed copies and worker edits remain intact; cancellation does not unlink files by path. TODO(fs-safe): adopt guarded exclusive-create with identity-bound rollback once the dependency supports it, closing this remaining window. Attachment staging uses the existing workspace-result transfer limits (25,000 files and 256 MiB total), with a 6 MiB per-file media read limit. Encoded launch, inference, and image-bearing transcript frames must also fit within 25 MiB; base64 encoding counts toward those frame limits. Non-image transcript content and unrelated control traffic retain their 64 KiB limits. Worker turns have no native steering transport: messages received during a turn use the existing queued follow-up path, retaining their images and media metadata. Paired devices: your own hardware as session hosts Pair any machine with one pasted command, then opt it into session hosting: bashCopy code openclaw connect <join-url> --service --session-host The device holds an outbound connection to the Gateway, advertises worker slots (one per CPU core by default, tunable with nodeHost.workerRuns.capacity), and can optionally run each hosted session in a Docker-compatible container (nodeHost.workerRuns.isolation: "container"). A device that goes offline keeps its active placement — the session waits for it to reconnect rather than losing work. The node host reconnects after transient transport loss. A worker child has a bounded 120-second admission window. If that window expires before the turn starts, the Gateway can launch another child, up to five attempts total (about ten minutes plus backoff), within the original turn timeout. Launch retries use exponential backoff with jitter; each attempt keeps its own terminal result and reason in the node launch journal. Credential and build rejections are terminal, and work that already started is never replayed by this policy. If a journal-terminal worker has released its turn claim but teardown stalls, stuck-session recovery records the turn failure after a 30-second cleanup grace, on the next diagnostic cycle. Live workers and turns that still hold their claims are unaffected. On Gateway restart, orphan workspace cleanup for failed placements runs in the background after readiness; ownership fencing and pending workspace-result recovery still run before readiness. See Nodes for pairing, capacity, isolation, and offline behavior, and Connect for the CLI. Cloud workers: rented machines through Crabbox Configure a profile under cloudWorkers.profiles and the bundled Crabbox plugin provisions machines on demand across cloud backends (AWS, Hetzner, and others), runs your setup command, enrolls the box as a temporary node, and tears everything down when the session stops. The machine is disposable by design: no standing credentials live on it, and the durable state stays with the Gateway. See Cloud Workers for profiles, requirements, dispatching, moving sessions between destinations, and the security model. Viewing the session desktop Open Desktop from a session to view its execution machine. Cloud sessions select their worker desktop; sessions on paired devices select that device. The pop-out window keeps the session in its link. Both viewers follow placement changes and disconnect from the previous machine when the session moves or stops. A stopped cloud session does not switch either viewer to the Gateway desktop. The machine must already support desktop viewing. For cloud workers, enable the Cloud Worker Desktop lab and desktop profile setting. Opening Desktop starts in view-only mode and does not change the machine's permissions or the agent's tool policy. The global Desktop command in the command palette still opens the machine picker, including on chat pages. Desktop and computer control A desktop-enabled cloud session uses the same machine …