# Slash Commands Documentation

## Overview

The system handles commands through the Gateway, with two main categories:

**Commands** are standalone `/...` messages, while **Directives** like `/think`, `/verbose`, and `/model` are stripped before the model processes the message. Directives persist when sent alone but function as inline hints within regular messages.

## Key Configuration

The default settings enable text commands (`commands.text: true`) while disabling bash operations (`commands.bash: false`). Authorization requires `commands.useAccessGroups: true` by default, restricting directives to approved senders.

## Main Command Categories

**Universal commands** include `/help`, `/commands`, `/skill`, `/status`, and `/whoami`. Model-related operations use `/model` for selection and `/queue` for processing preferences.

**Bash operations** require explicit enablement and use the syntax `! <cmd>` or `/bash <cmd>`. **Configuration management** relies on `/config` and `/debug` for persistent and temporary overrides respectively, both restricted to the owner.

## Directives and Shortcuts

Directives modify behavior dynamically: `/think` adjusts reasoning depth, `/verbose` increases output detail, and `/elevated on|off|ask|full` manages permission levels. Inline shortcuts like `/status` work within regular messages and bypass normal processing queues for authorized users.

## Platform-Specific Notes

Discord reserves the `/tts` command name, using `/voice` natively instead. Slack requires individual slash command setup per built-in command when native support is enabled. Telegram and Slack provide button menus for command arguments.
