Skip to content

Global Flags

These flags can be passed to any bb command. They are resolved before the command-specific options, so they work uniformly whether you’re running bb pr list or bb config get.

FlagTypeDefaultDescription
--json [fields]optional CSVoffEmit machine-readable JSON. Pass a comma-separated field list to project the output.
--jq <expression>stringoffRun the JSON output through an in-process jq filter. Requires --json.
--no-colorbooleanautoDisable ANSI colors. Also honoured: NO_COLOR env var.
--no-unicodebooleanautoUse ASCII fallbacks for separators, arrows, and status icons. Also honoured: BB_NO_UNICODE env var.
--no-truncatebooleanoffShow full values in table output without truncating long cells.
--limit <n>integercommand-specificCap the number of items returned by list commands.
--allbooleanoffFetch every page (overrides --limit). Available on list commands.
--locale <tag>BCP-47systemLocale for date/time formatting (e.g. de-DE, ja-JP). Falls back to BB_LOCALE, then LC_TIME/LC_ALL/LANG, then en-US.
-w, --workspace <name>stringgit remote / env / configOverride the workspace.
-r, --repo <slug>stringgit remoteOverride the repository.
-h, --helpbooleanPrint help for the command.
-V, --versionbooleanPrint the CLI version.

Switch a command to JSON output. With no argument, the full response is printed. Pass a comma-separated field list to project to just those keys:

Terminal window
bb pr list --json
bb pr list --json id,title,state

JSON mode also disables spinners, colors, and progress notes so the output is safe to pipe.

Filter the JSON output through a jq expression. The filter runs in-process via the embedded jq engine, so you don’t need the jq binary installed. Requires --json:

Terminal window
bb pr list --json --jq '.pullRequests[] | select(.state == "OPEN") | .title'

--no-color disables ANSI colors. --no-unicode swaps Unicode separators and status glyphs for plain ASCII equivalents — useful for log aggregators that mangle Unicode, or terminals that don’t render the symbols cleanly.

Both flags have environment-variable equivalents (NO_COLOR, BB_NO_UNICODE). They’re auto-disabled when stdout is not a TTY, so piping to a file or another process already gives you plain output.

Cap the number of items returned. Most list commands default to a small, useful page size (e.g. 25); pass --limit 100 to fetch more in one shot.

Fetch every page. Available on:

  • bb repo list
  • bb pr list
  • bb pr activity
  • bb pr comments list
  • bb snippet list
  • bb snippet comments list

--all overrides --limit. When the output is truncated by --limit, the CLI prints a hint suggesting --limit <n> or --all so the truncation is never silent.

Show table cells in full. By default, long values (PR descriptions, comment bodies, branch names) are truncated to keep rows on one line. --no-truncate disables that for the current invocation:

Terminal window
bb pr comments list 42 --no-truncate

Override the workspace and repository for the current command. The resolution order is documented in detail in Repository Context, but in short:

  1. --workspace / --repo flags
  2. Git remote of the current directory
  3. BB_WORKSPACE environment variable (workspace only)
  4. defaultWorkspace in the config file (workspace only)

Pin a BCP-47 locale tag for date/time formatting. This affects every human-readable date the CLI prints — PR timestamps, activity entries, comment dates. JSON output is locale-independent.

Terminal window
bb pr list --locale de-DE
bb pr view 42 --locale ja-JP

If --locale is unset, the CLI walks BB_LOCALE, then the standard POSIX chain (LC_TIMELC_ALLLANG), then falls back to en-US.

For settings that can come from multiple sources, the order is always:

  1. Command-line flag
  2. Environment variable
  3. Config file
  4. Built-in default