Slash Commands
Just send these commands directly in a topic, and the daemon intercepts and handles them. Only the allowlisted commands in the passthrough section are forwarded verbatim to the underlying CLI; any other /xxx the daemon doesn't recognize is treated as ordinary conversation text and relayed as a normal message. Send /help anytime to view the full list.
📌 Session Management
See Session & Topic Model for the repository-picker and pinned-directory branches of bare /t. You can also make /repo the new topic's first command:
/t /repo <path|project name>/t /repo wt <path|project name> [branch]
These forms create the topic and select a repository or create a worktree directly, without starting an empty session and switching it afterward. Send the task as the next message in the topic.
💬 Reply Mode (/reply-mode)
Controls how the bot opens a session when @mentioned. No argument (or status) shows the current mode; changing it needs canOperate, viewing needs canTalk. In group chats you must @ the target bot (in multi-bot groups, @ the specific bot). Only regular groups and 1:1 DMs are supported; topic groups need no setting (they're already topics) and the command is rejected there.
DM (1:1) — the mode applies to all of this bot's DMs (bot-level global config, not per-chat), but different users' DMs with the bot still keep isolated sessions. The modes are chat / topic / group (new-topic is a compat alias of topic):
shared / chat-topic rely on native group topics and are rejected in DMs.
Regular groups — how top-level @mentions open sessions (per-chat override, higher priority than the dashboard default):
The group-level setting overrides the dashboard "Bot Config → Regular Group Mode" default.
/substitute [status|on|off] — show or toggle substitute mode for the current group (owner-only to change).
🔀 Passthrough to the Underlying CLI
/compact /model /clear /plugin /usage /new /context /cost /mcp /diff /code-review /security-review /review /btw /effort /fast — delivered literally to the underlying CLI and handled by its built-in commands.
/fast is Codex-specific: it toggles Codex's native service tier, and the streaming card shows a read-only ⚡ <tier> badge reflecting whatever tier Codex actually runs. On RPC-input or Riff backends the keystroke can't reach Codex's executor, so /fast fails closed there with a clear notice instead of a silent no-op.
Some CLIs also declare adapter-default passthrough commands: Claude Code and Codex default-allow /goal, so a new topic whose first message is /goal ... will start/select the repository first and then send /goal ... to the CLI literally.
To allow more commands through, configure customPassthroughCommands for that bot (e.g. ["/export"]) to extend beyond the allowlist above as needed. Entries that would shadow a botmux daemon command (such as /status, /help, /cd) are automatically dropped — daemon commands always keep their own semantics and cannot be overridden via passthrough.
🧩 View Available Commands
/list-slash-command (alias /slash): lists the currently available slash commands in a card, in four sections —
- botmux's fixed passthrough allowlist;
- commands default-allowed by the current CLI adapter;
- commands this bot custom-allows via
customPassthroughCommandsin bots.json; - custom commands / skills / plugins auto-discovered from the
.claudedirectory (project-level +~/.claude+ plugin cache), shown in a paginated "command | description" table, with a note of any detected MCP server names.
Permissions are the same as /help, and it doesn't occupy a session slot.
📡 Session Onboarding
🔐 User Authorization
🎭 Roles (Personas)
See Roles & Teams for details.
🔀 Session Relay (Regular Groups)
See Session Relay for details.
🛎️ On-Call (Group Chats)
/oncall bind <path> · /oncall unbind · /oncall status
🔑 Usage Authorization (owner-only)
⚙️ Remote Config & Skills (owner-only)
Written and hot-applied — no restart needed.
🆕 One-Click New Session Group
/group <group name> (alias /g): automatically creates a new Lark group, invites you in, transfers ownership to you, and runs the entire group as a standalone CLI session. @botA @botB /g <group name> can add multiple bots into the new group at once.
Add --role-profile <profile> to bootstrap the new group with reusable per-bot roles:
See One-Click Session Group for details.
📄 Feishu Doc Comment Entry
/watch-comment: watch Feishu doc comments, bind them to an AI session, and post replies back into their threads; supports <doc link> [--dir <path>] [--all|--mentions-only] and list/off. /subscribe-lark-doc keeps the original per-file Feishu API subscription flow. See Feishu Doc Comment Entry for details.
🔧 Workflow (orchestration, experimental)
The old
/template run|cancelcommands are retired; sending/templatenow returns a retirement notice.
See Workflow for details.
👥 Multi-Bot Collaboration
@botA @botB /t <prompt> (each opens a new topic) · @botA @botB /introduce (register the bots in this chat with each other by open_id for precise collaboration mentions) · botmux bots list (show bots available in the current group)
⏰ Scheduling & ❓ Help
/schedule ... (see Scheduled Tasks) · /help (shows the full list inside the topic)
