Docs navigation
Command Reference

Command reference

Every command, grouped by area. Run brainbase help to print this same summary in your terminal.

bash
brainbase <command> [options]

Commands

GroupCommandsReference
Authlogin · logout · whoamiauth
Teamsteam listteam
Agentagent list · init · create · pull · push · unpack · status · env · link · unlink · sync · runagent
Connectionsagent connections · agent connect · agent disconnectagent
Taskstask create · list · get · logstask
MCPmcp list · mcp checkmcp
Templatestemplate pack · publish · search · info · onboard · list · removetemplate
Skillsskill add · list · update · remove · search · info · publishskill
Orchestrationsorchestration create · list · pull · push · status · add-agentorchestration
Sandboxesmachine ls · machine rmmachine
Tokenstoken create · list · revoke · cleartoken

Global flags

FlagApplies toDescription
--yes, -ymost commandsSkip confirmations / auto-overwrite. Required by destructive commands when there is no terminal — see below.
--harness <id>onboard, sync, agent init / create / pull / unpack, orchestration pull / add-agentForce the harness (e.g. claude-code).
--scope <s>onboard, sync, agentForce install scope: global or project.
--agent <id>linkAttach this folder to an existing agent non-interactively.
--no-trackinglink, agent createSkip routing LLM traffic through Brainbase.
--trackagent createRoute LLM traffic through Brainbase (off without a TTY).
--shell <sh|fish>agent envOutput format (auto-detected from $SHELL).
--alltemplate list, machine lsInclude more: other folders' installs, or torn-down machines.
--forceagent init, agent pull, agent pushOn init, overwrite an existing manifest; on pull, take cloud runtime/content changes; on push, keep local conflicts. It cannot change machine_kind.
--minimal / --fullagent initWrite the starter manifest (the default), or a commented template covering every block. Passing both is an error.
--run-entrypointagent pullExecute the agent entrypoint after pulling.
--graph-onlyorchestration pushPush members, edges, edge settings, and schedule triggers without pushing member-agent content.
--no-pushorchestration add-agentCreate / wire locally but skip the push.
--web <url>loginWeb app URL.
--org <id-or-slug>team list, agent list / create, orchestration create / listScope to an organization. Omitted, team list shows every organization you belong to; the others select a lone one automatically and otherwise ask.
--team <id>agent list / create, orchestration create / listScope to a team. Team ids are unique, so this works without --org.
--jsonteam list, agent init / list / connections / connect / disconnect, mcp list / check, task create / list / get / logsMachine-readable output, and nothing else on stdout. Never prompts — an ambiguous choice or a missing value errors instead. On the connection commands, failures print {"error": "…"} rather than plain text.
--wait / --timeout <secs>task createBlock until the task settles and exit 0 only when it succeeded; --timeout bounds the wait and needs --wait. See task.
--limit <n>task list, task logs, machine lsOn task list and machine ls, cap the page (1–200). On task logs, stop after <n> events instead of the whole transcript — or, with --follow, size the first page the server sends before it starts tailing.
--follow, -ftask logsStay attached and print events as they land, until the task reaches a terminal state.
--bot-token <t>agent connect slackSlack bot token. Also BRAINBASE_SLACK_BOT_TOKEN, or piped on stdin.
--signing-secret <s>agent connect slackSlack signing secret. Also BRAINBASE_SLACK_SIGNING_SECRET, or piped on stdin.
--app-id <id> / --app-name <name>agent connect slackSlack app metadata, recorded for reference.
--bot-name <name>agent connect meetingDisplay name the agent joins meetings under.
--bot-image-url <url>agent connect meetingAvatar for the meeting bot.
--nameagent init / create, skill publish, token createName / label (alias -n for token create).
--taglineagent init / createAgent tagline.
--from <agent>orchestration add-agentSource edge into the new agent (repeatable).
--to <agent>orchestration add-agentEdge out of the new agent (repeatable).
--description <text>orchestration add-agentDescription for the new member agent.
--schema <json>orchestration add-agentEdge payload schema.
--visibility <s>template publish, skill publishpublic, unlisted, or private.
--category <s>template search, skill searchFilter by category (ignored by publish).
--target <id>template searchFilter search results by target.
--page <n>template search, skill searchPage through search results.
--as <slug>skill addInstall the skill under a different slug.
--skill-version <v>skill publishVersion to publish (MAJOR.MINOR.PATCH).

Destructive commands

Most confirmation prompts only exist to slow a human down, and with no terminal to ask — a pipe, a CI job, an agent-driven shell — they carry on by themselves.

Commands that destroy something do not. Without a terminal they need an explicit --yes, and exit non-zero naming the flag if it is missing, rather than reading the absent terminal as a "yes".

bash
$ brainbase token revoke tok_abc123 < /dev/null
Revoking ci-runner (tok_abc123) is destructive and needs confirmation, but
there is no interactive terminal to ask. Pass --yes to revoke it without a
prompt.
$ echo $?
1

This covers token revoke, unlink, link (its unlink and re-link paths), agent disconnect, template remove, skill remove, and skill add when it would overwrite a skill that already exists. In a real terminal nothing changes — you still get the prompt, and --yes still skips it.

`agent disconnect --json` is the exception
It still goes ahead on its own. What changed is that an *absent* terminal no longer counts as agreement — --json is a flag you typed, and it has never prompted in a terminal either, so it keeps authorising the disconnect the way --yes does.
Environment variables
Hosts, the config dir, and PATs are all configurable via environment variables — see Environment variables.