Single prompt
waterbrother "inspect this repo and summarize architecture"
Install from npm, then run one-shot tasks, interactive sessions, web research, or vision/design analysis with local screenshots.
waterbrother "inspect this repo and summarize architecture"
printf 'summarize this repo' | waterbrother -p printf 'read https://example.com and summarize it' | waterbrother -p --output-format json printf 'inspect package.json' | waterbrother -p --output-format stream-json
waterbrother --approval on-request
On first run this launches onboarding automatically unless --skip-onboarding is used.
Read-only file tools can inspect ~/Desktop, ~/Downloads, and ~/Documents directly. On macOS, /desktop, /downloads, and /documents are treated as shortcuts to those home folders.
Each turn shows live progress animation, visible phase traces while running, and summaries for tools/timing/tokens. Detailed run-state heartbeat lines stay in /trace verbose.
You can paste a large multiline block into the prompt buffer without submitting it immediately. Waterbrother keeps it buffered, shows a compact placeholder like [Pasted Content 14083 chars] in the prompt row, and waits for an explicit Enter before starting the turn.
/agent /agent designer /agent reviewer
waterbrother vision ./mockup.png "Critique layout, hierarchy, spacing, and accessibility" # interactive /vision ./mockup.png Suggest concrete CSS improvements for this web layout
waterbrother "Read https://docs.anthropic.com/en/api/messages and summarize tool use" waterbrother "Search the web for the latest model provider docs and cite sources" # interactive https://docs.anthropic.com/en/api/messages https://docs.anthropic.com/en/api/messages summarize tool use blocks
/read https://docs.anthropic.com/en/api/messages /search latest model provider tool calling docs /open 1
waterbrother config set-json mcpServers '{"filesystem":{"command":"npx","args":["-y","@modelcontextprotocol/server-filesystem","."]}}' --scope project
waterbrother mcp list
# interactive
/mcp
Slash menu is live while typing: / opens it, /m-style prefixes filter it,
↑/↓ changes highlighted command, Enter accepts selection, and
Tab autocompletes.
Tool approvals use a codex-style chooser: ↑/↓ changes the highlighted row,
Enter or y approves once,
p saves a session approval rule for the current shell-command prefix or tool, and
Esc denies and lets you provide a different instruction. The chooser now renders in a bordered
block with the default action highlighted.
When session approval rules are active, the footer shows a compact [rules sN tN] indicator.
Receipt summaries are quieter by default for minimal read-only turns. Use /receipt-mode verbose if you want every turn receipt echoed.
| Command | What it does |
|---|---|
/status | Show structured session/runtime state including provider, model, design model, approvals, tools, and message count. |
/session | Print current session metadata/path. |
/sessions | List recent session IDs. |
/new | Start a new session. |
/resume <id> | Resume a previous session by ID. |
/run <prompt> | Run a normal prompt without treating it as a slash command. |
/fork | Fork the current conversation into a new session id. |
/clear | Clear current conversation history. |
/compact | Manual context compaction for long sessions. |
/cost | Show session token usage and estimated cost by model. |
/diff | Show staged, unstaged, and untracked git changes. |
/provider | Show active provider, model, design model, and base URL. |
/provider <id> | Switch provider for current session and load that provider's default model. |
/providers | Pick a provider interactively. |
/runtime | Show active runtime summary, including any loaded runtime profile. |
/runtime-profile save <name> | Save the current provider/model/design setup as a named preset. |
/runtime-profile load <name> | Load a named runtime preset into the live session. |
/runtime-profiles | List saved runtime presets. |
/channels | Show messaging channel readiness for Telegram, Discord, and Signal. |
/gateway | Show messaging gateway readiness and enabled channel counts. |
/model <id> | Switch model for current session. Provider-prefixed ids also switch provider coherently. |
/agent <profile> | Switch profile: coder/designer/reviewer/planner. |
/read <url> | Read and summarize a public URL. |
/search <query> | Search the web, choose a result with arrows + Enter, then read it. |
/open <url|index> | Open a public URL or saved search result index in the browser. |
/approval <mode> | Set approval mode: auto/on-request/never. |
/approvals | Show saved session approval rules for shell prefixes and tools. |
/tools <on|off> | Enable or disable tool use. |
/trace <mode> | Set trace level: on/off/verbose. |
/receipt-mode <auto|off|verbose> | Control when turn receipt summaries are printed. |
/memory ... | Manage WATERBROTHER.md SOT memory file. |
/vision <path> <prompt> | Run a vision turn on local image input. |
/doctor | Run environment checks. |
/mcp | Inspect configured MCP servers and discovered tool names. |
/update | Update Waterbrother: git-clone installs pull + check, npm installs upgrade globally. |
/onboarding | Print onboarding/API key guide. |
/compact /cost /fork /diff /memory init /memory add API responses must include file references. waterbrother config set autoCompactThreshold 0.9 waterbrother config set provider anthropic --scope project waterbrother config set model anthropic/claude-sonnet-4-20250514 --scope project
waterbrother runtime-profiles save review-anthropic waterbrother runtime-profiles show review-anthropic waterbrother runtime-profiles apply review-anthropic waterbrother channels status waterbrother gateway status
User config lives in ~/.waterbrother/config.json. Project overrides live in .waterbrother/config.json.