Discord is the most common channel for Sentō. It's the recommended starting point for new agents.

Create the bot

  1. Go to discord.com/developers/applications
  2. New Application → name it (anything — the actual agent name is set later in sento init)
  3. Bot tab → Reset Token → copy. Save it in your password manager.
  4. Privileged Gateway Intents: enable Message Content Intent and Server Members Intent.
  5. OAuth2 → URL Generator: scope bot, permissions: View Channels, Send Messages, Send Messages in Threads, Read Message History, Attach Files, Add Reactions. Copy the generated URL, open it in your browser, add the bot to your server.

Find your Server ID

  1. Discord → Settings → Advanced → Developer Mode ON
  2. Right-click your server name → Copy Server ID

You'll paste both the token and the server ID during sento init.

Access control

Sentō's Discord plugin honors an access.json file at ~/.claude/channels/discord/access.json:

{
  "dmPolicy": "allowlist",
  "allowFrom": [],
  "groups": {
    "<server-id-or-channel-id>": { "requireMention": false, "allowFrom": [] }
  }
}
  • dmPolicy: pairing (default — reply to unknown senders with a 5-char code, wait for owner approval), allowlist (only reply to listed user IDs), open, or disabled.
  • groups: per-server or per-channel policy. requireMention: true means the bot only responds when @mentioned.

Full discussion: Access control concepts.

Common gotchas

  • Bot shows offline: run sento restart, wait 30 seconds. If still offline, check sento logs -n 50 for auth errors.
  • "Message Content Intent" error: you didn't enable the intent at the Developer Portal. Go back and toggle it on.
  • Agent doesn't respond: the bot doesn't have View Channel + Send Messages permission in that specific channel. Right-click channel → Edit Channel → Permissions → add the bot role.

Multi-server + multi-channel

The Discord plugin supports multiple servers and per-channel rules. Add more entries to groups in access.json — no sento command needed, the plugin re-reads the file on every incoming message.