- name
- approve-pairing
- description
- Approve a pending DM pairing request without the openclaw CLI, by directly editing credential files. Use when
openclaw pairing approveis unavailable (CLI not in PATH, elevated access not configured, sandbox environment). Supports telegram, whatsapp, signal, imessage, discord, slack, feishu.
approve-pairing
Approve pending DM pairing requests by writing directly to OpenClaw credential files — no CLI required.
How It Works
Pairing state lives in two files under ~/.openclaw/credentials/:
<channel>-pairing.json— pending requests (sender ID, code, accountId)<channel>-<accountId>-allowFrom.json— approved senders allowlist
Approving = add sender ID to allowFrom file + remove code from pairing file.
Quick Approval (script)
python3 skills/approve-pairing/scripts/approve_pairing.py <channel> <code>Example:
python3 skills/approve-pairing/scripts/approve_pairing.py telegram PWVW264MThe script:
- Reads
~/.openclaw/credentials/<channel>-pairing.json - Finds the request matching the code
- Appends the sender ID to the allowFrom file
- Removes the code from pending requests
Manual Steps (if script unavailable)
- Read
~/.openclaw/credentials/<channel>-pairing.jsonto getidandmeta.accountId - Write/update
~/.openclaw/credentials/<channel>-<accountId>-allowFrom.json:
{ "version": 1, "allowFrom": ["<sender_id>"] }- Clear the pending request from
<channel>-pairing.json
Notes
- Codes expire after 1 hour — check
createdAtif approval fails - A gateway restart may be needed:
openclaw gateway restart - If
accountIdis"default"or empty, the file is<channel>-default-allowFrom.json - Pending requests capped at 3 per channel; old ones must expire before new ones are created