Skip to content
Select themeSelect language

Discord commands

The SupaCloud Discord control bot accepts slash-prefixed message bodies in any channel or DM where the bot is present. The bot boots only when DISCORD_BOT_TOKEN is set and is entirely separate from the per-workspace Discord notify/trigger resource.

Command Description
/help Show the list of available commands.
/status Active tasks.
/task <id> Task details.
/run <project> <agent> <prompt> Launch a task.
/tasks Open a button-driven recent-task picker (tap a task for detail, then act).
/issues [project] Open the Project → Issue → Agent → Launch wizard (button-driven).
/intervene <id> <msg> Send a message to a running task.
/approvals [tool|workflow] List pending human decision gates; the bare command lists the workflow human-gates (the default), tool lists the interactive tool/question/visual gates. Workflow gates carry inline Approve/Reject buttons (ADR 0045).
/skills [approve|reject <id>] List the open induced-skill proposals, or approve/reject one by id. Deciding is workspace-admin only (ADR 0045).
/usage Per-provider subscription-saturation windows for the active workspace (admin/owner only) (ADR 0045).
/budget The $-budget status (cap, spend, remaining) — a member read (ADR 0045).
/autonomy [0-100] Show the resolved effective autonomy (level, named stop, policy preview). Setting from chat is not yet available — use the web settings or the Management API (ADR 0045).
/approval_mode <project> [none|pr_draft|human_gate] Show or set a project’s PR-review approval mode. Setting is workspace-admin only (ADR 0045).
/schedule list|add|pause|resume|delete Manage schedules.
/link <code> Link your Discord identity to your SupaCloud account.

Run /link <code> in a DM with the bot. The link code is a short-lived bearer secret; sending it in a guild channel would expose it in shared history. The bot rejects /link calls made outside a DM and asks you to retry in a DM.

To obtain a link code, open Settings in the SupaCloud web UI, go to the Telegram section, and click Generate link token. The same one-time link token works for both the Telegram and Discord bots (POST /api/settings/telegram-link-token); there is no separate Discord token page.

Once linked, your Discord identity is recorded in chat_platform_accounts (migration 130). The same account record backs both the Discord and Telegram control bots — you only need to link once per platform.

Two commands open interactive button flows rather than returning plain text:

  • /tasks — presents the five most recent active tasks as buttons. Tap a task to see its detail, then choose an action.
  • /issues [project] — chains a wizard: Project → Issue → Agent → Launch. Omit project to be prompted for it first. Button interactions are handled as Discord INTERACTION_CREATE events and edit the source message in place.

Launching a task from Discord — a direct /run, the /run wizard, or the /issues wizard — enters live mode automatically on the launching channel. Each task step updates a single message edited in place: the agent’s answer, a rolling list of the tools it runs, and its current thinking, all coalesced (with tool-line deduplication) so the channel stays readable. An Unfollow button sits under the confirmation so you can leave the stream in one press, and any plain (non-command) message you send while following is forwarded to the task as an intervention. The message finalises and live mode stops automatically when the task completes. Following is per-surface: a task you start from Discord streams in Discord only.

When a task finishes, a short TL;DR — a status glyph and the outcome summary — is pushed to the task owner’s linked Discord account. A per-account opt-out toggle in the chat-account settings turns it off. With no linked Discord account there is nothing to push.