Chat Commands
Stop a run, pick a faster or deeper model for one reply, and mute Viktor in a Slack thread.
Chat commands are short words you type in a message to Viktor. They change what Viktor does right away, without a settings page. Type a command as a separate word anywhere in your message.
| Command | What it does | Where it works |
|---|---|---|
!stop | Stops what Viktor is doing in the thread. | Slack |
!fast | Runs this one reply on the workspace's fast model. | Slack and Microsoft Teams |
!deep | Runs this one reply on the workspace's deep model. | Slack and Microsoft Teams |
!mute or 🏁 | Mutes Viktor in a channel thread until someone @mentions him. | Slack channel threads |
| Stop button | Stops a run in Viktor app chat. | Viktor app |
Stop a run with `!stop`
Use !stop when Viktor is working on something you no longer want.
- Send a message to Viktor that contains
!stop: in his DM, in a group DM, with an @mention, or in a thread he started. - Viktor adds a 🛑 reaction to your message.
- If a run was active, it ends and Viktor posts: "⏹ Stopped. Mention me or reply here when you want me to continue."
!stop also drops replies waiting in the queue, cancels scheduled resume steps for the thread, and clears a pending !fast or !deep choice. The command never reaches the AI model, so it works even if Viktor is stuck in a loop.
!stop inside a code span (` !stop ), a code block or a block quote (> !stop`) is treated as text, not as a command.
Choose a model for one reply with `!fast` or `!deep`
- Add
!fastor!deepto your message to Viktor, for example "!fast what's on my calendar today?" - In Slack, a ⚡ (
!fast) or 🧠 (!deep) reaction shows on your message until the reply arrives. - The reply ends with a footer such as "⚡ Fast reply · <model>" or "🧠 Deep reply · <model>".
The command applies to that one reply only. The next message uses the normal model again. If a message contains both !fast and !deep, neither applies.
Set the models behind the commands
Admins pick the models in Settings → General (open it), under Model overrides:
!fast: For quick, everyday requests!deep: For complex work that benefits from more reasoning
Each can also be set to Use default model. If !deep is set to Use default model, the command does nothing. If !fast is set to it, Viktor still acknowledges the command but uses the default model, and no footer is shown.
The footer is not added in Slack Connect (external) channels or on Viktor's short in-progress messages.
Mute Viktor in a Slack thread with `!mute` or 🏁
Use mute when people want to keep talking in a thread without Viktor joining in.
- In a Slack channel thread Viktor is part of, send a message containing
!mute. Or react with 🏁 (:checkered_flag:) to one of Viktor's messages in the thread. - Viktor adds a 🔇 reaction to your
!mutemessage. - The first time the thread is muted, Viktor posts once: "I'm muted in this thread. @mention me to unmute."
While muted, Viktor keeps reading the thread for context but does not reply, including to unmentioned replies in threads he started.
To unmute, @mention Viktor in the thread. He replies to that message as usual, and the mute is cleared.
Mute works only in Slack channel threads. It does not apply to DMs (Viktor always replies there), group DMs (he replies only when mentioned anyway) or Microsoft Teams. A 🏁 reaction only mutes when it is on a message Viktor wrote, and only when the person reacting is allowed to use Viktor.
Stop a run in Viktor app chat
While Viktor is working in app chat, the send button turns into a stop button. Click it to stop the run. It shows "Cancelling…" while the run stops. See the Viktor web app.
Limits by plan and permission
- Plan: the commands are available on every plan.
- Members: anyone who can use Viktor can send
!stop,!fast,!deepand!mute. - Admins: only admins can change which models
!fastand!deepuse. Members see "Only workspace admins can change model settings." - Microsoft Teams:
!fastand!deepwork.!stopand!mutedo not.
Common problems
`!stop` did nothing. Check that the message is directed at Viktor (DM, @mention, or a thread he started) and that !stop is not inside a code span or a quote.
`!deep` didn't change the model. The !deep model is set to Use default model. Ask an admin to pick a model in Settings → General.
There is no model footer. The command was set to the default model, both !fast and !deep were in the message, or the reply was in an external channel.
Viktor stopped replying in a thread. Someone may have muted the thread with !mute or 🏁. @mention Viktor to bring him back.
I use Microsoft Teams and need to stop a run. Teams has no !stop command.