Caricamento in corso...
Caricamento in corso...
Last synced: Today, 22:00
Technical reference for the OpenClaw framework. Real-time synchronization with the official documentation engine.
Use this file to discover all available pages before exploring further.
In Gateway-owned pairing, the Gateway is the source of truth for which nodes are allowed to join. UIs (macOS app, future clients) are just frontends that approve or reject pending requests.
Important: WS nodes use device pairing (role
nodeconnectnode.pair.*node.pair.*node.pair.requestedPending requests expire automatically after 5 minutes.
bashopenclaw nodes pending openclaw nodes approve <requestId> openclaw nodes reject <requestId> openclaw nodes status openclaw nodes remove --node <id|name|ip> openclaw nodes rename --node <id|name|ip> --name "Living Room iPad"
nodes statusEvents:
node.pair.requestednode.pair.resolvedMethods:
node.pair.requestnode.pair.listoperator.pairingnode.pair.approvenode.pair.rejectnode.pair.removenode.pair.verify{ nodeId, token }Notes:
node.pair.requestnode.pair.requestsilent: truenode.pair.approveoperator.pairingoperator.pairingoperator.writesystem.runsystem.run.preparesystem.whichoperator.pairingoperator.admingateway.nodes.allowCommandsdenyCommandssystem.runexec.approvals.node.*When a node connects for the first time, pairing is requested automatically. Until the pairing request is approved, all pending node commands from that node are filtered and will not execute. Once trust is established through pairing approval, the node's declared commands become available subject to the normal command policy.
This means:
Node-originated summaries and related session events are restricted to the intended trusted surface. Notification-driven or node-triggered flows that previously relied on broader host or session tool access may need adjustment. This hardening ensures that node events cannot escalate into host-level tool access beyond what the node's trust boundary permits.
Durable node presence updates follow the same identity boundary. The
node.presence.aliveclient.idThe macOS app can optionally attempt a silent approval when:
silentIf silent approval fails, it falls back to the normal “Approve/Reject” prompt.
WS device pairing for
role: nodejson5{ gateway: { nodes: { pairing: { autoApproveCidrs: ["192.168.1.0/24"], }, }, }, }
Security boundary:
gateway.nodes.pairing.autoApproveCidrsrole: nodeWhen an already paired device reconnects with only non-sensitive metadata changes (for example, display name or client platform hints), OpenClaw treats that as a
metadata-upgrade/pair qrDeleting a device also sweeps any stale pending pairing requests for that device id, so
nodes pendingGateway pairing treats a connection as loopback only when both the raw socket and any upstream proxy evidence agree. If a request arrives on loopback but carries
X-Forwarded-ForX-Forwarded-HostX-Forwarded-ProtoPairing state is stored under the Gateway state directory (default
~/.openclaw~/.openclaw/nodes/paired.json~/.openclaw/nodes/pending.jsonIf you override
OPENCLAW_STATE_DIRnodes/Security notes:
paired.json© 2024 TaskFlow Mirror
Powered by TaskFlow Sync Engine