Send a message that is only the directive (whitespace allowed), e.g. /think:medium or /t high.
That sticks for the current session (per-sender by default); cleared by /think:off or session idle reset.
Confirmation reply is sent (Thinking level set to high. / Thinking disabled.). If the level is invalid (e.g. /thinking big), the command is rejected with a hint and the session state is left unchanged.
Send /think (or /think:) with no argument to see the current thinking level.
Directive-only message toggles session verbose and replies Verbose logging enabled. / Verbose logging disabled.; invalid levels return a hint without changing state.
/verbose off stores an explicit session override; clear it via the Sessions UI by choosing inherit.
Inline directive affects only that message; session/global defaults apply otherwise.
Send /verbose (or /verbose:) with no argument to see the current verbose level.
When verbose is on, agents that emit structured tool results (Pi, other JSON agents) send each tool call back as its own metadata-only message, prefixed with <emoji> <tool-name>: <arg> when available (path/command). These tool summaries are sent as soon as each tool starts (separate bubbles), not as streaming deltas.
When verbose is full, tool outputs are also forwarded after completion (separate bubble, truncated to a safe length). If you toggle /verbose on|full|off while a run is in-flight, subsequent tool bubbles honor the new setting.
Heartbeat probe body is the configured heartbeat prompt (default: Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.). Inline directives in a heartbeat message apply as usual (but avoid changing session defaults from heartbeats).
Heartbeat delivery defaults to the final payload only. To also send the separate Reasoning: message (when available), set agents.defaults.heartbeat.includeReasoning: true or per-agent agents.list[].heartbeat.includeReasoning: true.