Documentation Index
Fetch the complete documentation index at: https://mintlify.com/nearai/ironclaw/llms.txt
Use this file to discover all available pages before exploring further.
ironclaw pairing
Manage pairing requests for direct message channels like Telegram and Slack. When someone sends a DM to your agent from an unknown sender, a pairing request is created that must be approved before the agent will respond.Subcommands
list- List pending pairing requestsapprove- Approve a pairing request by code
ironclaw pairing list
List all pending pairing requests for a specific channel.Syntax
Arguments
<CHANNEL>
Channel name (e.g., telegram, slack, discord).
Flags
--json
Output as JSON instead of human-readable format.
Examples
Output
Human-readable format:- Code - Pairing code to use with
approve - ID - Channel-specific user ID
- Metadata - Additional information (username, name, etc.)
- Created - Timestamp when request was created
ironclaw pairing approve
Approve a pairing request using its code.Syntax
Arguments
<CHANNEL>
Channel name (e.g., telegram, slack).
<CODE>
Pairing code from the list output (e.g., ABC12345).
Examples
Output
Success:How Pairing Works
1. Unknown Sender Messages You
When someone sends a DM to your agent from a channel you’ve configured:2. Pairing Request Created
The agent creates a pairing request and responds with a code:3. You Approve the Request
4. Sender Can Now Chat
The sender’s next message will be processed normally:Pairing Request Lifecycle
Creation
- Created when an unknown sender messages the agent
- Includes metadata: username, display name, etc.
- Generates an 8-character alphanumeric code
- Valid indefinitely until approved or sender is blocked
Approval
- Marks the sender as trusted
- Removes the pending request
- Future messages from this sender are processed normally
Re-requesting
If the same sender messages again before approval:- Extends the existing request timestamp
- Returns the same pairing code
- Does not create a duplicate request
Security Features
Rate Limiting
Approval attempts are rate-limited to prevent brute-force attacks:- Too many failed attempts trigger a cooldown period
- Cooldown is user-specific (per your IronClaw instance)
Code Format
Pairing codes are:- 8 characters long
- Alphanumeric (A-Z, 0-9)
- Case-insensitive
- Cryptographically random
Automatic Cleanup
Old pairing requests are automatically cleaned up after:- 30 days of inactivity (configurable)
- Approval
- Manual deletion
Storage Location
Pairing data is stored in:~/.ironclaw/pairing/telegram.json
File Format
Common Workflows
Daily Pairing Check
Bulk Approval
Monitoring Script
Channel-Specific Metadata
Telegram
Slack
Discord
Troubleshooting
”No pending pairing requests”
Either:- No one has messaged your agent from unknown accounts, or
- All requests have been approved/expired
”Pairing file not found”
The channel may not be configured:.env file for channel configuration.
”Code not found”
Possible causes:- Typo in the code (codes are case-insensitive)
- Request already approved
- Request expired or manually deleted
“Rate limited”
Too many failed approval attempts. Wait a few minutes and try again.Manual Pairing File Management
You can manually edit pairing files if needed:Privacy Considerations
- Pairing requests include user metadata (usernames, names)
- This data is stored locally in plaintext
- Consider the sensitivity of stored metadata
- Regularly clean up old pairing data
Related Commands
- onboard —channels-only - Configure communication channels
- config - View channel configuration