Understanding Discord allowFrom: Why Your Allowlisted Users Appear as "Owners"
A common point of confusion when setting up OpenClaw for Discord DMs: you add friends or coworkers to allowFrom, expecting them to be able to chat with your bot, and suddenly your agent treats them as you โ the owner.
The Surprise
If you configure your Discord channel like this:
"dmPolicy": "allowlist",
"allowFrom": ["123456789"]Your agent's system prompt will include:
## User Identity
Owner numbers: 123456789. Treat messages from these numbers as the user.
Wait, what? You just wanted them to chat with the bot, not be treated as the owner!
Why This Happens
This is actually intended behavior, even if the wording is confusing.
Here's the logic:
dmPolicy: "allowlist"+allowFrom: [...]means "these users are allowed to talk to the bot in DMs"- OpenClaw feeds those same IDs into the agent prompt as trusted operators
- The "Owner numbers" label is historical (from phone-number-based channels like WhatsApp/Signal)
In DMs, there's currently no distinction between "can chat" and "can operate my assistant." If you put someone in allowFrom, you're granting them the ability to drive the assistant โ including whatever tools you've enabled.
Is This a Security Flaw?
Not in the "bypass access control" sense:
- The DM allowlist gate is enforced before the model runs
- If you've allowlisted someone, you've already decided they can interact with your bot
But it does become risky if you interpret allowFrom as "can chat" but not "can operate my assistant." OpenClaw doesn't have that distinction in DMs right now.
What You Should Do
For multi-user / shared inbox DMs
Enable secure DM isolation to prevent cross-user context leakage:
"session": {
"dmScope": "per-channel-peer"
}This ensures each user gets their own session โ they can't access each other's conversation history or memory.
For elevated mode
Note that Discord has a fallback where elevated allowlists default to channels.discord.allowFrom unless you override it explicitly. Be aware of this if you're granting elevated permissions.
See the elevated tools documentation for details.
The Fix: Better Wording
The community agrees the "Owner numbers" label is confusing for Discord. Ideally this should be renamed to something like "Authorized senders" to clarify the semantic.
If this bit you, consider filing a GitHub issue requesting:
- Rename the prompt line from "Owner numbers" to "Authorized senders"
- Document explicitly that DM
allowFromimplies "trusted operator" semantics
Key Takeaways
allowFrom= trusted operator, not just "can chat"- Use
dmScope: "per-channel-peer"for proper user isolation in shared DM setups - Check your elevated mode allowlist configuration
- The wording could be improved โ feel free to open an issue
Based on a discussion in the OpenClaw Discord #help channel. Thanks to November for raising this important configuration gotcha!
Comments (0)
No comments yet. Be the first to comment!