openclaw pairing
Approve or inspect DM pairing requests for channels that support pairing (chat DMs only - node/device pairing uses openclaw devices).
Related: Pairing flow
The same pending requests can be reviewed in the Control UI under Settings →
Channels → DM access requests. The Control UI supports approve, optional
requester notification, and dismiss. Dismiss removes the current request but does
not permanently block the sender.
Commands
pairing list
List pending pairing requests for one channel.
If multiple pairing-capable channels are configured, pass a channel positionally or with
--channel. Extension channels work as long as the channel id is valid.
pairing approve
Approve a pending pairing code and allow that sender.
Usage:
openclaw pairing approve <channel> <code>openclaw pairing approve --channel <channel> <code>openclaw pairing approve <code>when exactly one pairing-capable channel is configured
--channel <channel>, --account <accountId>, --notify (send a confirmation back to the requester on the same channel).
Owner bootstrap
Ifcommands.ownerAllowFrom is empty when you approve a pairing code, the CLI also records the approved sender as the command owner, using a channel-scoped entry such as telegram:123456789. This only bootstraps the first owner - later pairing approvals never replace or expand commands.ownerAllowFrom. The Control UI presents this elevation as a separate operator.admin-protected checkbox instead of applying it automatically.
The command owner is the human operator account allowed to run owner-only commands and approve dangerous actions such as /diagnostics, /export-session, /export-trajectory, /config, and exec approvals. Pairing only lets a sender talk to the agent; it does not by itself grant owner privileges beyond this one-time bootstrap.
If you approved a sender before this bootstrap existed, run openclaw doctor; it warns when no command owner is configured and shows the exact openclaw config set commands.ownerAllowFrom ... command to fix it.