In-Session Commands¶
Once a session is active, you can control it from Slack using !-prefixed commands. Commands are detected anywhere in a message — you can embed them mid-sentence or chain multiple commands.
!help
Fix the login bug !stop
!model claude-opus-4-5 then continue with high effort !effort high
Command syntax¶
- Commands start with
!(or/for Claude CLI passthroughs) - The command name is case-insensitive
- Arguments follow the command name, separated by spaces
- Commands may appear anywhere in a message — before, after, or between other text
- Unknown commands return a helpful error message
!help
!help status
!model claude-opus-4-5
!effort high
Session commands¶
These commands are handled locally by summon without forwarding to Claude.
| Command | Aliases | Description |
|---|---|---|
!help [COMMAND] |
List all commands, or show details for one command | |
!status |
Show session status (model, effort, cost, uptime, turn count) | |
!end |
!quit, !exit, !logout |
End the session gracefully |
!stop |
Cancel the current Claude turn (interrupt mid-response) | |
!clear |
!new, !reset |
Clear conversation history (start fresh context) |
!model [MODEL] |
Show current model, or switch to a different model | |
!effort [LEVEL] |
Show current effort, or switch effort level | |
!auto [on\|off\|rules] |
!automode |
Toggle or inspect the auto-mode classifier |
!compact [INSTRUCTIONS] |
Compact conversation context (reduces token usage) | |
!summon start |
Spawn a new child session in the current channel | |
!summon resume [SESSION_ID] |
Resume a previous Claude Code session | |
!diff FILE |
Show a git diff for a file changed this session | |
!changes |
Show all files changed in this session |
!help¶
!help
!help status
!help model
!help global-commands # list a plugin's skills
Without arguments, lists all available commands grouped by type. With an argument, shows usage and description for that command, including its type (local, passthrough, or blocked) and any aliases.
!status¶
!status
Returns current session information:
*Session Status*
Model: `claude-opus-4-6`
Effort: `high`
Session ID: `abc123...`
Turns: 7
Cost: $0.0342
Uptime: 42m 15s
!model¶
!model # show current model
!model claude-opus-4-6 # switch model
!model claude-sonnet-4-6
Lists available models when called without arguments. Switching takes effect on the next turn.
!effort¶
!effort # show current effort
!effort low # switch to low effort
!effort high # switch to high effort
!effort max # switch to max (extended thinking)
Valid levels: low, medium, high, max. Takes effect on the next turn.
Extended thinking
!effort max enables extended thinking (ultrathink mode). Claude will reason more deeply but responses will take longer and cost more.
!auto¶
!auto # show classifier status
!auto on # enable the classifier
!auto off # disable the classifier
!auto rules # show effective allow/deny rules
Toggles the auto-mode classifier, which automatically approves or blocks tool calls based on configurable prose rules. See Permissions — Auto-mode classifier for details.
Requires worktree
!auto on only works after the agent has entered a worktree. Before worktree entry, the classifier is dormant regardless of configuration.
!auto off and !auto rules work at any time.
!compact¶
!compact
!compact Focus on the authentication module
Compacts the conversation context to reduce token usage. Optional instructions tell Claude what to emphasize when summarizing the context. The conversation history is replaced with a summary.
!summon¶
!summon start # spawn a new child session
!summon resume # resume most recent session
!summon resume <session-id> # resume a specific session
Spawns or resumes sessions from within a running session. Child sessions appear as new Slack channels. Requires the PM agent feature — see Projects.
!diff¶
!diff src/auth/login.py
!diff package.json
Shows a unified diff for the named file, covering changes made during this session. Rendered as a Slack snippet with syntax highlighting.
!changes¶
!changes
Lists all files created or modified during this session, with line addition/deletion counts.
Claude CLI passthroughs¶
These commands are forwarded directly to the Claude Code CLI subprocess. They trigger Claude's built-in slash commands.
| Command | Description |
|---|---|
!review |
Review code changes |
!init |
Initialize project configuration |
!pr-comments |
Review PR comments |
!security-review |
Run a security review |
!simplify |
Simplify and refine code |
!debug |
Debug session issues |
!claude-developer-platform |
Claude developer platform information |
Passthrough commands produce output in the session channel, the same as if you had typed them in a local Claude terminal.
Blocked commands¶
Some Claude CLI commands are blocked in Slack sessions because they depend on a local terminal or produce output that can't be rendered in Slack.
Blocked with specific reasons¶
| Command | Reason |
|---|---|
!insights |
Generates a local HTML report — not viewable in Slack |
!context |
Use !status instead |
!cost |
Use !status instead |
!release-notes |
Not available in Slack sessions |
!login |
Not available in Slack sessions |
CLI-only commands¶
These commands require the interactive Claude CLI and are blocked with: "Only available in the interactive CLI"
!config (!settings), !doctor, !desktop (!app), !feedback (!bug), !permissions (!allowed-tools), !mobile (!ios, !android), !resume (!continue), !rewind (!checkpoint), !remote-control (!rc), !add-dir, !agents, !chrome, !copy, !export, !extra-usage, !fast, !fork, !hooks, !ide, !install-github-app, !install-slack-app, !keybindings, !mcp, !memory, !output-style, !passes, !plan, !plugin, !privacy-settings, !reload-plugins, !remote-env, !rename, !sandbox, !skills, !stats, !statusline, !stickers, !tasks, !terminal-setup, !theme, !upgrade, !usage, !vim
When a blocked command is used, summon responds with a clear explanation rather than forwarding it to Claude.
Plugin skills¶
If you have Claude Code plugins installed, their skills and commands are available in sessions using the plugin:skill syntax:
!global-commands:session-start
!dev-essentials:lint
Use !help PLUGIN to list all skills from a specific plugin:
!help global-commands
Plugin skills are discovered automatically at session startup from ~/.claude/plugins/installed_plugins.json. Unambiguous skill names can be used without the plugin prefix:
!session-start # if only one plugin has a skill named "session-start"
If two plugins provide the same skill name, the short form is ambiguous and disabled — use the full plugin:skill form instead.
Mid-message detection¶
Commands are detected anywhere in a message using a regex that matches !cmd or /cmd tokens after whitespace or at the start of the message. URLs and file paths are excluded:
https://example.com— not a command (URL)repo/review— not a command (path-like)Run !review then !status— two commands detected
For local commands with arguments (like !model and !effort), arguments are consumed from the text immediately following the command. The regex stops consuming at the next !cmd or /cmd token, so you can chain commands naturally:
Switch to opus !model claude-opus-4-6 and max effort !effort max