Commands and shortcuts
Commands and shortcuts in Halo — the / menu in chat, IM commands that stop or clear a Digital Human's bot chat, and every keyboard shortcut and send key.
Commands live in two places: the / menu in the Halo window, and IM commands you send to a Digital Human's bot in WeCom, Feishu or WeChat. The two sets don't mix. You don't need commands for everyday work: tell Halo in plain words what you want. Keyboard shortcuts work only inside the Halo window. Halo has no system-wide global shortcuts.
Slash commands (Halo window)
Type / at the start of a message to open a list with two groups, Skill and Built-in. Pick an entry and Halo puts /command plus a space into the box for you to finish and send.
- Skill: the skills you have enabled. Clicking Use on a skill also fills in its command and shows its argument hint.
- Built-in: the commands the current agent engine reports. Halo adds no commands of its own to the chat window, and there is no fixed list.
Which commands you see depends on the engine:
| AI Agent Engine | / menu |
|---|---|
| Claude Code SDK (default) | Lists the commands the engine reports, plus your skills |
| Halo SDK Experimental | Lists the commands the engine reports, plus your skills |
| Codex SDK, DeepSeek dsh | Report no commands, so no menu appears |
To see what is available right now, type / and read the list:
- Matching ignores case, and entries that start with what you typed come first. Eight rows show at a time; scroll for more.
- Use ↑ ↓ to move, Enter to pick and Esc to close.
- The menu opens only while the message starts with / and has no space or line break.
- Before a new conversation's first reply, the list may be empty or show every entry as Built-in. It updates once the first reply arrives.
- Picking a command while in goal mode leaves goal mode.
Commands such as /compact exist only when the engine reports them. A manual compaction shows "Context has been intelligently compressed" in the conversation without a token count; automatic compactions add the count.
IM commands such as /halo-stop and /halo-clear do nothing in the Halo window:
- To stop a reply, press Esc or click the square button. See Stop and continue.
- To clear a Digital Human's chat, click Clear chat at the bottom of the conversation, then Confirm in "Clear all chat history?".
- An ordinary conversation has no clear. To start over, create a new conversation.
IM commands (to a Digital Human's bot)
Send these commands to a Digital Human's bot in WeCom, Feishu or WeChat to make it stop or start over. To connect a bot, see Message channels.
| What it does | Commands (any one) | Bot reply |
|---|---|---|
| Stop the current reply | /halo-stop, /halo-cancel, /stop | "Generation stopped."; when nothing is running, "No active generation to stop." |
| Clear the context and start a fresh conversation | /halo-clear, /halo-reset, /clear | "Context cleared. Starting a fresh conversation." |
- Commands ignore case and surrounding spaces.
- The bot's replies are in English only.
- In a direct chat, send the command on its own.
- In a group, @mention the bot and put the command last, for example
@Ops Assistant /stop. Bot names with spaces work too. Any text after the command turns it into an ordinary message. - A WeCom group passes the bot only messages that @mention it, and a Feishu group requires the @mention by default. Personal WeChat supports direct chats only.
What stop does
- Interrupts the reply the Digital Human is writing in this chat.
- The chat history and context stay, so your next message carries on from there.
What clear keeps
| Cleared | Kept |
|---|---|
| The reply in progress | The Digital Human's memory |
| This chat's conversation history on the Halo side; the next message starts a fresh conversation | Reminders set in this chat |
| Messages you sent while the bot was busy that it has not handled yet | The chat history inside WeCom, Feishu or WeChat itself |
- Only the chat you send it in is affected (that person's direct chat, or that group). Other chats with the same bot keep their context.
- When a team member answers the bot,
/clearends only this chat's current team conversation. Other chats keep theirs. - To clear all of a Digital Human's conversations at once, use Clear all conversations in its Capabilities and settings › Advanced › Danger zone. IM chats answered by a team are not included; send
/clearin those chats.
Answering a Digital Human's question: just reply, no command
Halo 3.0.4 has no /answer command. The "/answer plus a number and an option" form taught by older docs no longer works.
When a Digital Human needs your decision, the question arrives in your direct chat with the bot. The message is in Chinese: it starts with 「「name」的任务需要你决定:…」 ("name's task needs your decision"), lists options A, B and so on, and ends with 「直接回复我就行,也可以在 Halo 里回答。」 ("just reply to me, or answer in Halo").
Reply in plain words, such as "B" or "East region, please". The Digital Human picks up the answer and carries on with that work. You can also answer in Halo; see Answer its questions. For who receives these questions, see Owner and guest permissions.
Keyboard shortcuts
These shortcuts work in the Halo window. On Windows and Linux, Ctrl usually replaces ⌘; exceptions are noted in the tables.
Search
| macOS | Windows / Linux | What it does | Where it works |
|---|---|---|---|
| ⌘ K | Ctrl K | Open or close the search and command palette: jump to conversations, Digital Humans, tasks and knowledge bases, or search messages | Everywhere |
| ⌘ F | Ctrl F | Search the current conversation | Desktop app only; the web client leaves this key to the browser |
| ⌘ ⇧ F | Ctrl Shift F | Search the current workspace | Everywhere |
After you open a search result, a highlight bar appears: ↑ for earlier matches, ↓ for more recent ones, ⌘ K / Ctrl K to edit the search, Esc to close. See Find an earlier conversation.
Canvas and tools
| macOS | Windows / Linux | What it does | Where it works |
|---|---|---|---|
| ⌘ T | Ctrl T | Open a new AI Browser tab in the canvas | Conversation view, even with the canvas closed |
| ⌘ W | Ctrl W | Close the current canvas tab | Canvas open |
| ⌘ ⇧ W | Ctrl Shift W | Close all canvas tabs | Canvas open |
| ⌃ Tab / ⌃ ⇧ Tab | Ctrl Tab / Ctrl Shift Tab | Next / previous canvas tab | Canvas open |
| ⌘ 1–9 | Ctrl 1–9 | Jump to canvas tab 1–9 | Canvas open |
| Esc | Esc | Collapse the canvas back to the chat | Canvas open, unless a menu or viewer inside it used the key first |
| ⌘ S | Ctrl S | Save | While editing in the canvas code editor or the goal editor |
| ⌃ C | Ctrl C | Always goes to the terminal and interrupts the running command; it doesn't copy, even with text selected. To hand output to the AI, select it and click Add to chat; see Share one terminal with the AI | AI Terminal tab |
| ⌃ ⇧ G | Ctrl Shift G | Open Changes | Conversation view; on macOS this is the Control key, not Command |
Display size Desktop only
| macOS | Windows / Linux | What it does |
|---|---|---|
| ⌘ + (or ⌘ =) | Ctrl + (or Ctrl =) | Make the interface bigger |
| ⌘ − | Ctrl − | Make the interface smaller |
| ⌘ 0 | Ctrl 0 | Reset to 100% |
- Range 50%–150% in 10% steps, default 100%. The size survives restarts.
- Stays in sync with the slider in Settings › Appearance › Display Size. See Settings reference.
- The Remote Access web and Android clients don't have this; use the browser's own zoom.
Composer keys
| Key | Default mode (Enter sends) | Ctrl+Enter mode |
|---|---|---|
| Enter | Send | New line |
| Shift Enter | New line | — |
| Ctrl Enter | — | Send; on macOS this is the Control key too, and ⌘ Enter does not send |
| Esc | Stop the current reply ("Stop generation (Esc)") | Same |
- To switch modes, open Settings › Appearance › Send Key and choose Enter or Ctrl+Enter.
- You can send while Halo is working. The send button then reads "Add to queue", and the message reaches Halo right after its current step. See Keep adding while Halo works.
- Esc order: with the + panel open, the first press closes the panel; in goal mode, it first leaves goal mode and keeps your text; the next press stops the reply.
- Pressing Enter while picking a Chinese, Japanese or Korean IME candidate never sends.
- On touch devices narrower than 768 px, Enter always adds a new line; send with the button.
- Type / for the command menu and @ for the Digital Humans, conversations and files menu. Both use ↑ ↓ to move and Esc to close.
Keys in Changes:
| Key | What it does |
|---|---|
| F7 / Shift F7 | Next change / previous change |
| [ / ] | Step through items on a detail page |
| Esc | Close the drawer or detail page |
| ⌘ ↵ (macOS) / Ctrl Enter | Commit from the commit message box |
Related
- Conversations: how sending, stopping, queueing and the / menu work in a conversation
- Message channels: connect a Digital Human to WeCom, Feishu or WeChat, where IM commands apply
- Changes and code review: review and commit once Changes is open