The confab CLI is built on Cobra. Run confab --help or confab <command> --help at any time for the canonical, locally-installed reference. This page is organized by what you’d actually use each command for.
| Command |
What it does |
confab setup --backend-url <url> |
One-command onboarding: auth + wire up sync + install bundled skills for every detected provider. See Overview. |
confab status |
Print backend auth state and per-provider sync/skill status. Detects orphans (sync installed but the provider CLI isn’t on PATH). |
confab login --backend-url <url> |
Just the auth step (device-code flow, or --api-key to skip). |
confab logout |
Clear stored credentials. |
confab update |
Check for and install a newer CLI release. |
confab autoupdate enable|disable |
Toggle automatic update checks. |
confab version |
Print version, build info, and config dir path. |
Hooks are the bridge between your provider CLI (Claude Code, Codex) and the sync daemon. confab setup installs them automatically; these commands are for manual repair. OpenCode uses an installed plugin rather than hooks — see How sync works.
| Command |
What it does |
confab hooks add --provider <name> |
Install Confabulous hooks into the provider CLI’s config. |
confab hooks remove --provider <name> |
Remove Confabulous hooks from the provider CLI’s config. |
The individual confab hook session-start / session-end / pre-tool-use / post-tool-use / user-prompt-submit subcommands are invoked by the provider CLI, not by you directly. They read JSON from stdin and write JSON to stdout — running them by hand isn’t useful.
| Command |
What it does |
confab skills add |
Install the bundled skills for detected providers (also done automatically by confab setup). |
confab skills remove |
Remove the bundled skills. |
See Skills for what the skills actually do.
The sync daemon is the long-running process that streams transcript chunks to the backend. You usually don’t touch it — it spawns and exits with each session. These commands are for troubleshooting.
| Command |
What it does |
confab sync status |
Show which sync daemons are running, per-session. |
confab sync start |
Start a daemon for the current session (rarely needed — hooks do this). |
confab sync stop |
Stop the daemon for the current session. |
| Command |
What it does |
confab list |
List local sessions discovered on disk (Claude Code and Codex). Supports duration and provider filters. |
confab save <session-id> [--provider X] |
Manually upload a specific session by its provider-internal ID. Useful for backfilling sessions that ran before hooks were installed. For Codex, save performs the same tree walk-up as the hook, so passing any subagent UUID syncs the whole tree. |
confab session get-summary <id> |
Fetch a condensed transcript for an uploaded session from the backend. |
confab session download <id> |
Download the raw JSONL transcript files for an uploaded session. |
confab session list-files <id> |
List transcript-file metadata for an uploaded session. |
OpenCode is live-sync only — it’s captured automatically while you work, so confab list and confab save cover Claude Code and Codex only.
| Command |
What it does |
confab retro <session-id> [--output-dir <dir>] |
Fetch the condensed transcript plus structured metadata for retrospective analysis. Normally invoked by the /retro skill. |
| Command |
What it does |
confab install |
Copy the running confab binary into ~/.local/bin/ (manual alternative to the install script). |
confab redaction-test <file> |
Test your current redaction rules against a sample transcript file before they affect real uploads. |
confab announce |
Internal — used by the auto-update flow to surface release-notes messages. |
--backend-url — passed to commands that hit the backend (setup, login, save, retro, session ...). When omitted, the CLI uses the URL stored in ~/.confab/config.json from the last setup / login.
--api-key — bypass the device-login flow for setup / login.
--provider <claude-code|codex|opencode> — disambiguate which provider a command targets. Defaults vary per command, and confab list and save cover Claude Code and Codex only — OpenCode is live-sync only. These commands route through the provider interface so adding a new provider doesn’t require changes here.
--config-dir <dir> — on setup, install into a non-default provider config dir and bind it to the given backend rather than the global default. Requires --provider. See Multiple backends.