Channel Commands

GoClaw provides slash commands available across all text channels (Telegram, WhatsApp, TUI, HTTP).

Command Reference

CommandDescription
/statusShow session info and compaction health
/clearClear conversation history
/cleartoolDelete all tool messages (fixes corruption)
/stopStop all running agent tasks
/compactForce context compaction
/helpList available commands
/skillsList available skills
/heartbeatTrigger heartbeat check
/hassHome Assistant status and debug
/llmLLM provider status and cooldown management
/embeddingsEmbeddings status and rebuild
/a2aInspect A2A state and interact with A2A peers
/acpAttach, inspect, and control ACP sessions
/btwAsk the attached ACP agent a side question (interrupts, answers, resumes)

Command Details

/status

Shows current session information and compaction health.

Output:

Session Status
  Messages: 45
  Tokens: 12,500 / 200,000 (6.3%)
  Compactions: 0

Compaction Health
  LLM: available

Skills: 54 total, 12 eligible

When compaction has issues:

Compaction Health
  LLM: unavailable
  Pending retries: 1

/clear

Clears all conversation history for the current session. Alias: /reset

Use this when:

  • Starting fresh on a new topic
  • Session is corrupted
  • Context has drifted too far from the task

/cleartool

Deletes all tool-related messages (tool_use and tool_result) from the session.

Use this when:

  • Tool message corruption is causing errors
  • Orphaned tool results are confusing the agent
  • Need to clean up without losing conversation context

/stop

Stops all running agent tasks for your user across all sessions.

Output:

Stopped all agent tasks for user Alice

Use this when:

  • Agent is stuck in a long-running operation
  • Need to interrupt an unwanted task
  • Agent is in an infinite loop or runaway state

Note: This is a “panic stop” that immediately cancels all in-progress agent runs. The agent will not complete any pending tool calls.

/compact

Forces immediate context compaction, even if the token threshold hasn’t been reached.

Output:

Compaction completed!
  Tokens before: 175,000
  Tokens after: 45,000
  Summary source: LLM

Use this when:

  • Proactively reducing context before a long task
  • Testing compaction behavior
  • Freeing up context window space

/help

Lists all available commands with descriptions.

/skills

Lists available skills with their status.

Output:

Skills (12 eligible of 54)

Eligible:
  🌤️ weather - Get current weather and forecasts
  📧 himalaya - CLI to manage emails
  ...

Flagged (1):
  ⚠️ suspicious-skill - Security flag: env_file

/heartbeat

Triggers a heartbeat check manually. Useful for testing heartbeat behavior or forcing the agent to check external sources.

/hass

Home Assistant integration status and debugging.

Usage:

/hass           # Show connection status
/hass debug     # Show debug info
/hass info      # Show entity info
/hass subs      # Show active subscriptions

/llm

LLM provider status and cooldown management.

Usage:

/llm            # Show provider status
/llm status     # Same as above
/llm reset      # Clear all cooldowns

Output:

LLM Provider Status

claude: healthy
ollama-qwen: cooldown (rate_limit), retry in 2m30s
ollama-embed: healthy

/embeddings

Embeddings status and rebuild.

Usage:

/embeddings           # Show status
/embeddings status    # Same as above
/embeddings rebuild   # Rebuild all embeddings

Output:

Embeddings Status

Session transcripts: 1,234 chunks
Memory files: 56 chunks

Model: nomic-embed-text
Provider: ollama

/a2a

Inspect A2A transport state, peers, tasks, pairing payloads, and remote task operations.

Usage:

/a2a status
/a2a peers [all|connected|trusted|authorized|discovered|relayed|disconnected] [list]
/a2a tasks [all|active|resumable|failed|inbound|outbound] [peer <peer>]
/a2a pair
/a2a ping <peer>
/a2a submit <peer> <message>
/a2a resume <peer> <task-id>
/a2a cancel <peer> <task-id>

Subcommands:

SubcommandDescription
statusShow transport readiness, addresses, and peer/task counters
peersList known peers, optionally filtered by connection or trust state
tasksList retained A2A tasks, optionally filtered and scoped to one peer
pairShow the local pairing payload
pingPing a peer by alias or peer ID
submitSubmit a remote task to a peer and wait for the final snapshot
resumeResume a retained remote task
cancelCancel a retained remote task

Examples:

/a2a status
/a2a peers connected
/a2a tasks active
/a2a tasks resumable peer wsl
/a2a pair
/a2a ping wsl
/a2a submit wsl Summarize the current logs.
/a2a resume wsl remote-20260407T002849577468142
/a2a cancel wsl remote-20260407T002849577468142

Behavior notes:

  • Relay-backed connectivity is used immediately when direct connectivity is not ready yet.
  • If the peer is currently relay-only and GoClaw knows direct candidates, GoClaw may try a short background direct upgrade for future traffic.
  • That background attempt does not delay the live /a2a ping, /a2a submit, /a2a resume, or /a2a cancel command already in progress.

/acp

Attach, inspect, and control ACP sessions from any text channel.

Usage:

/acp attach [driver] [--cwd /path] [--mode mode] [--session SESSION_ID]
/acp detach
/acp status
/acp close
/acp cancel
/acp mode <agent|plan|ask>
/acp model list
/acp model <friendly-id>
/acp steer [--stay-attached] <message>
/acp btw <question>

Subcommands:

SubcommandDescription
attachCreate a new ACP session, or re-attach/load an existing one
detachDetach GoClaw from the ACP session without closing it
statusShow ACP session details, pending requests, and recent driver extensions
closeClose the ACP session entirely
cancelCancel the currently running ACP prompt
modeChange ACP mode, such as agent, plan, or ask
modelList or switch the friendly model aliases exposed by the attached Cursor ACP session
steerSend a prompt into the attached ACP session
btwAsk a quick side question — interrupts the current turn, answers with full context, then the agent resumes

Examples:

/acp attach
/acp attach cursor --cwd /path/to/project --mode agent
/acp attach grok --cwd /path/to/project
/acp attach cursor --session SESSION_ID
/acp status
/acp mode plan
/acp model list
/acp model claude-4.6-opus-high-thinking
/acp steer Review the current branch and summarize the next safe step.
/acp steer --stay-attached Ask Cursor to keep the session open for one more turn.
/acp detach
/acp close

Behavior notes:

  • The default ACP driver is grok
  • /acp attach tries to apply the configured acp.drivers.<driver>.model alias immediately after attaching
  • /acp model list shows the live friendly aliases exposed by the attached ACP session
  • /acp model <friendly-id> switches the current ACP session to that alias
  • /acp steer now detaches by default after the prompt completes
  • Use --stay-attached when you want to keep routing future turns through ACP
  • detach keeps the external ACP session available for later re-attachment, while close shuts it down

See ACP Sessions for the full workflow and ACP Tools for the agent-facing tool equivalents.

/btw

Ask the attached ACP agent a quick side question without abandoning its current task. It interrupts the in-flight turn, answers with full session context, then the agent resumes what it was doing. /btw <question> is shorthand for /acp btw <question>.

Only valid in an interactive ACP session (after /acp attach). If no session is attached, GoClaw tells you to attach first.

/btw what file are you editing right now?
/acp btw why did you pick that approach?

Channel-Specific Behavior

Commands work the same across all channels, but output formatting may vary:

ChannelFormatting
TelegramMarkdown with bold headers
TUIPlain text
HTTPPlain text or JSON

Adding Custom Commands

Commands are registered at startup. Custom commands can be added by extending the command handler in the codebase.


See Also