4. Companion-messaging commands

[!ref] Full details in the User Manual, "Companion messaging".

4.1 Commands

Command Args Scope Description
/bind <6-digit code> DM / Group Bind this peer to a workspace
/ws <workspace name> DM / Group Persistently switches this peer's bound workspace (persisted to disk, survives restarts); the next message starts a fresh session in the new workspace; unknown names get a reply listing available workspaces. For a one-message switch use the [ws:<workspace>] prefix
/sessions none DM / Group List recent sessions (with short ids)
/new [text] DM / Group New session; optional first message
/s <short id> DM / Group Switch to a session (≥4-char prefix)
/approve <id> DM / Group Allow once
/always <id> DM / Group Always allow (write to allow list)
/deny <id> DM / Group Deny
/stop none DM / Group Pause this peer's agent responses and terminate running tasks; later messages are no longer forwarded to the agent. The paused state persists across restarts
/resume none DM / Group Lift the /stop pause (idempotent; replies the same when not paused)
/help none DM / Group List all commands

Single-message override (prefix tags)

Prefix Effect
[ws:<workspace>] body Switch workspace for this one message; restored after
[s:<short-id>] body Switch to that session for this one message; restored after

4.2 Inbound routing priority

Session selection (matched top-down; first hit wins):

  1. Explicit /new [text] — start a new session.
  2. Explicit /s <short-id> (the inline prefix [s:<short-id>] is equivalent).
  3. The peer's most recently active session.
  4. First-inbound fallback: a stable session derived from the binding / workspace plus the sender.

Workspace selection: inline [ws:<workspace>] override > the peer's bound workspace > the global default workspace; if none exists, the reply asks you to /bind first.

4.3 Outbound throttling

Parameter Default Description
Min batch 200 chars Send threshold
Idle trigger 3 s Send if no new chars within this
Max single segment 3800 chars Avoid the IM per-message cap
Markdown filter On Auto-strip to plain text
Typing indicator On "Typing" instead of placeholder

4.4 Outbound tools

Tool Args Purpose
channels.notify workspace_id, text Broadcast to all bindings for the workspace
channels.reply session_id, text Reply to the originating peer of the session
channels.send_to binding_id (or account+peer), text Direct send to a specific peer
channels.list_bindings none List bindings for the workspace
channels.list_sessions workspace_id List sessions deliverable to the workspace