bub currently exposes five builtin commands: run, gateway, chat, login, and the hidden compatibility command message.
Run one inbound message through the full framework pipeline and print outbounds.
uv run bub run "hello" --channel cli --chat-id localCommon options:
--workspace/-w: workspace root, declared once on the top-level CLI and shared by all subcommands--channel: source channel (defaultcli)--chat-id: source endpoint id (defaultlocal)--sender-id: sender identity (defaulthuman)--session-id: explicit session id (default is<channel>:<chat_id>)
Comma-prefixed input enters internal command mode:
uv run bub run ",help"
uv run bub run ",tools"
uv run bub run ",fs.read path=README.md"Unknown comma commands fall back to shell execution:
uv run bub run ",echo hello-from-shell"Print hook-to-plugin bindings discovered at startup.
uv run bub hookshooks remains available for diagnostics, but it is hidden from the top-level help.
Start channel listener mode (defaults to all non-cli channels).
uv run bub gatewayEnable only selected channels:
uv run bub gateway --enable-channel telegrambub message is kept as a hidden compatibility alias and forwards to the same command implementation.
Start an interactive REPL session via the cli channel.
uv run bub chat
uv run bub chat --chat-id local --session-id cli:localAuthenticate with OpenAI Codex OAuth and persist the resulting credentials under CODEX_HOME (default ~/.codex).
uv run bub login openaiManual callback mode is useful when the local redirect server is unavailable:
uv run bub login openai --manual --no-browserAfter login, you can use an OpenAI model without setting BUB_API_KEY:
BUB_MODEL=openai:gpt-5-codex uv run bub chat--workspaceis parsed before the subcommand, for exampleuv run bub --workspace /repo chat.runprints each outbound as:
[channel:chat_id]
content