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 PWVW264M
The 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