#Enabling elevated mode in discord DM

1 messages Β· Page 1 of 1 (latest)

fathom epoch
#

elevated is not available right now (runtime=direct).
Failing gates: allowFrom (tools.elevated.allowFrom.discord)
Fix-it keys:
tools.elevated.enabled
tools.elevated.allowFrom.<provider>
agents.list[].tools.elevated.enabled
agents.list[].tools.elevated.allowFrom.<provider>
See: openclaw sandbox explain --session agent:main:discord:slash:319210739497697282

Effective sandbox:
agentId: main
sessionKey: agent:main:discord:slash:319210739497697282
mainSessionKey: agent:main:main
runtime: direct
mode: off scope: agent
workspaceAccess: none workspaceRoot: /root/.openclaw/sandboxes

Sandbox tool policy:
allow (default): exec, process, read, write, edit, apply_patch, image, sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status
deny (default): browser, canvas, nodes, cron, gateway, feishu, googlechat, nostr, msteams, mattermost, nextcloud-talk, matrix, bluebubbles, line, zalo, zalouser, synology-chat, tlon, discord, imessage, irc, qqbot, signal, slack, telegram, twitch, whatsapp

Elevated:
enabled: true
channel: (unknown)
allowedByConfig: false

Fix-it:

  • tools.sandbox.tools.allow
  • tools.sandbox.tools.alsoAllow
  • tools.sandbox.tools.deny
  • agents.list[].tools.sandbox.tools.allow
  • agents.list[].tools.sandbox.tools.alsoAllow
  • agents.list[].tools.sandbox.tools.deny
  • tools.elevated.enabled

I have:

  },   "tools": {     "profile": "full",     "elevated": {       "enabled": true,       "allowFrom": {         "discord": ["dm:319210739497697282"]       }     },

What's the correct configuration ?

acoustic escarpBOT
steel gladeBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> βœ… Mark Solution

acoustic escarpBOT
shadow basaltBOT
#

Let me verify the doc path and the config shape in the local docs/code.

#

I want to confirm whether dm: is ever a valid elevated allowlist prefix, because that’s the likely mismatch here.

#

Need one more quick check in the Discord channel plugin, because there may be a Discord-specific allowlist formatter/fallback involved.

#

First, can you paste openclaw --version? This area changed a bit recently.

The config issue is the dm: prefix. tools.elevated.allowFrom.discord is sender-based, so for Discord it should be the user ID, not a DM/session target.

Use this shape:

{
  channels: {
    discord: {
      enabled: true,
      token: "YOUR_DISCORD_BOT_TOKEN",
      dm: { enabled: true, allowFrom: ["319210739497697282"] } // if you want DMs accepted
    }
  },
#
  tools: {
    profile: "full",
    elevated: {
      enabled: true,
      allowFrom: {
        discord: ["319210739497697282"]
        // or: ["id:319210739497697282"]
      }
    }
  }
}

So, specifically, change:

#
discord: ["dm:319210739497697282"]

to:

discord: ["319210739497697282"]

A couple of gotchas:

  • If you also set agents.list[].tools.elevated.allowFrom.discord, the sender must match both the global and per-agent lists.
  • elevated only really matters when the session is sandboxed. Your output says runtime=direct, so exec is already host-side. In that case /elevated is basically a no-op, but the allowlist still gates elevated-capable flows.
  • This is not keyed off DM/thread/channel ids, only the sender identity.

Docs: