/btw (alias /side) asks a quick side question about the current
session without adding it to conversation history. It is modeled after
Claude Code’s /btw, adapted to OpenClaw’s Gateway and multi-channel
architecture.
What it does
- Snapshots the current session as background context (including any in-flight main-run prompt).
- Runs a separate, one-shot side query telling the model to answer only the side question and not resume or steer the main task.
- Delivers the answer as a live side result, not a normal assistant message.
- Never writes the question or answer to session history or
chat.history.
/btw requires an
existing Codex thread; send a normal message first.
For CLI runtime aliases, BTW invokes the owning CLI backend in one-shot
side-question mode: it seeds sanitized conversation context into a fresh CLI
invocation with tool bundling and reusable session state disabled, and adds
any no-resume/no-tools flags the backend supports. Direct (non-CLI) runtimes
use a direct one-shot provider call instead.
What it does not do
/btw does not create a durable session, continue the unfinished main task,
persist question/answer data to transcript history, or survive a reload.
Delivery model
Normal assistant chat uses the Gatewaychat event. BTW uses a separate
chat.side_result event so clients cannot mistake it for regular
conversation history. Because it is not replayed from chat.history, it
disappears after reload.
Surface behavior
| Surface | Behavior |
|---|---|
| TUI | Rendered inline in the chat log, visibly distinct from a normal reply, dismissible with Enter or Esc. |
| External channels | Delivered as a clearly labeled one-off reply (Telegram, WhatsApp, Discord have no local ephemeral overlay). |
| Control UI / web | Rendered as a floating “Side chat” panel pinned to the thread. Answers accumulate as turns and a “Follow up” input asks the next side question. Close (Esc or the X) keeps the conversation and reopens on the next answer; the trash button discards it and stops a pending run. |
Selection popup (Control UI)
Highlighting text inside a chat message in the Control UI opens a small selection popup with two actions:- More details immediately sends an implicit
/btwquestion asking the model to explain the highlighted text in the context of the current session. The answer arrives in the floating side chat panel. - Ask in side chat pre-fills the composer with a
/btwdraft quoting the highlighted text so you can type your own question about it.
/btw semantics: the question and answer stay out
of session history and the main run is left untouched.
When to use it
Use/btw for a quick clarification, a factual side answer while a long run
is still in progress, or a temporary answer that should not enter future
session context.
Related
Slash commands
Native command catalog and chat directives.
Thinking levels
Reasoning effort levels for the side-question model call.
Session
Session keys, history, and persistence semantics.
Steer command
Inject a steering message into the active run without ending it.