Skip to content

CLI reference

relaybay [--version] <command> [options]; without a command, serve runs. python -m relaybay is the same. relaybay <command> --help prints the same options.

Command What it does
serve Start the server (default command).
token Print the access token and how to connect Claude Code.
setup Connect Claude Code on this machine: hooks in user settings, MCP check.
doctor Diagnose the installation: versions, data folder, server, Claude Code.
demo Seed a demo workspace (acme-shop, demo-api) into a data directory.
hook Forward one hook event from stdin (command hook).

serve

Start the server (default command).

Option Value Meaning
--host HOST Bind address (default 127.0.0.1).
--port PORT Port (default 8765).
--home HOME Data directory (default: per-user data dir).
--reload Restart on code changes (dev).
--claude-home CLAUDE_HOME Folder holding Claude Code's .claude/ and .claude.json for the Integrations page (default: your home directory).

token

Print the access token and how to connect Claude Code.

Option Value Meaning
--home HOME Data directory.
--rotate Generate a new token.

setup

Connect Claude Code on this machine: hooks in user settings, MCP check.

Option Value Meaning
--dry-run Print the plan, the diff and its hash; write nothing (default; with --remove: preview the removal).
--apply Write the plan (with a backup).
--remove Remove relaybay's hooks (with a backup).
--check Check the setup end to end.
--expect HASH With --apply/--remove: write only if the plan still has this hash (printed by the dry run). Without it, the check covers only changes made during this run.
--json With --check: print the results as JSON.
--home HOME relaybay data directory.
--port PORT relaybay port (default 8765).
--claude-home CLAUDE_HOME Folder holding .claude/settings.json and .claude.json (default: your home).
--mode command\|http Hook type: command (default; a small forwarder, silent when relaybay is down) or http (Claude Code posts itself; needs RELAYBAY_TOKEN in its environment). Default: command.
--wake Also add the opt-in wake-up hook (command mode): an asyncRewake hook that wakes an idle session when an owner comment arrives (Claude Code 2.1.309 or later).
--no-wake Remove the wake-up hook.
--force-wake With --wake: install it although this Claude Code is older than 2.1.309 or its version is unknown (one that ignores asyncRewake would hold every turn's end).

doctor

Diagnose the installation: versions, data folder, server, Claude Code.

Option Value Meaning
--json Print the results as JSON.
--home HOME relaybay data directory.
--port PORT relaybay port (default 8765).
--claude-home CLAUDE_HOME Folder holding .claude/settings.json and .claude.json (default: your home).

demo

Seed a demo workspace (acme-shop, demo-api) into a data directory.

Option Value Meaning
--home HOME Data directory for the demo (required). Required.
--force If the folder already holds a board, rename its database aside and start over.

hook

Forward one hook event from stdin (command hook).

Option Value Meaning
--home HOME Data directory.
--port PORT Port (default 8765).

Exit codes

Code Meaning
0 Success.
1 A failed setup write, a failed check item (setup --check, doctor), or demo refused a data folder that already holds a board.
2 Invalid settings or arguments.

relaybay hook always exits 0, so a hook never fails a Claude Code session.