CLI Commands
Bitloops now has a thin CLI plus a single global user-level daemon service, com.bitloops.daemon.
For breaking changes from the older command model, see the upgrade note.
Global Options
bitloops --version
bitloops --version --check
bitloops --connection-status
bitloops help
Initial Setup
bitloops init
Bootstraps the current project or subproject.
bitloops init
bitloops init --install-default-daemon
Notes:
- Run
bitloops startfirst when the daemon is already configured. - Use
bitloops init --install-default-daemonon a fresh machine when you wantinitto bootstrap the default daemon service before continuing. inittreats the current working directory as the Bitloops project root.initcreates or updates.bitloops.local.toml..bitloops.local.tomlis added to.git/info/exclude.initinstalls git hooks plus the selected agent hooks.initreplaces[agents].supportedwith the current selection on rerun.inittriggers daemon-backed schema initialisation and the baseline sync intoartefacts_current.- Use
--agent <name>to pin the supported agent set or--skip-baselinewhen you want hooks and config without the initial baseline ingestion. initaccepts--telemetry,--telemetry=false, and--no-telemetry.- First-run telemetry consent belongs to
bitloops startwhen the default daemon config is created for the first time. initonly prompts for telemetry when the daemon config already existed and consent later became unresolved, for example after a CLI upgrade cleared a previous opt-out.- In non-interactive mode, unresolved telemetry consent requires an explicit telemetry flag.
bitloops enable
Enables capture in the nearest discovered project policy.
bitloops enable
Notes:
enableedits the nearest discovered.bitloops.local.tomlor.bitloops.tomlin place.enableonly toggles[capture].enabled = true.- Installed hooks stay in place and resume capturing without reinstallation.
- If no project config is found before the enclosing
.gitroot, Bitloops tells you to runbitloops init. enableaccepts--telemetry,--telemetry=false, and--no-telemetry.enableonly prompts for telemetry when the daemon config already existed and consent is unresolved.- In non-interactive mode, unresolved telemetry consent requires an explicit telemetry flag and Bitloops fails before editing project policy.
bitloops disable
Disables capture in the nearest discovered project policy.
bitloops disable
Notes:
disableonly toggles[capture].enabled = false.- Hooks and watchers remain installed and become no-ops while capture is disabled.
- Use
bitloops uninstall --agent-hooks --git-hooksif you want to remove hooks themselves.
bitloops uninstall
Removes Bitloops-managed artefacts from your machine and, for hook targets, from known repositories.
bitloops uninstall --full
bitloops uninstall --agent-hooks --git-hooks
bitloops uninstall --agent-hooks --git-hooks --only-current-project
bitloops uninstall --config --data --caching
Key flags:
| Flag | Meaning |
|---|---|
--full | Remove all Bitloops-managed artefacts, including legacy locations |
--binaries | Remove recognised bitloops binaries |
--service | Remove the daemon service and daemon state metadata |
--data | Remove global data and legacy repo-local .bitloops/ data |
--caching | Remove the global cache directory |
--config | Remove the global config directory and legacy TLS artefacts |
--agent-hooks | Remove supported agent hooks |
--git-hooks | Remove Bitloops git hooks |
--shell | Remove managed shell completion integration |
--only-current-project | Limit hook removal to the current repository |
--force | Skip confirmation |
Notes:
- No flags opens an interactive multi-select picker when running in a TTY.
- In non-interactive environments, you must pass explicit flags.
disableis a capture toggle. Useuninstallfor hook removal or machine-wide cleanup.- See Uninstalling Bitloops for target-by-target behaviour and caveats.
Daemon Lifecycle
The top-level lifecycle aliases are equivalent to bitloops daemon ....
bitloops start
Starts the Bitloops daemon.
bitloops start
bitloops start --create-default-config
bitloops daemon start
bitloops daemon start -d
bitloops daemon start --until-stopped
Key flags:
| Flag | Meaning |
|---|---|
-d, --detached | Start the daemon in the background without installing an always-on service |
--until-stopped | Install or refresh the global user service and start it |
--host | Override the bind host |
--port | Override the bind port |
--http | Force local HTTP instead of HTTPS |
--recheck-local-dashboard-net | Re-run local dashboard TLS and network checks |
--bundle-dir | Override the dashboard bundle directory for this run |
--config | Use an explicit daemon config file |
--create-default-config | Create the default global daemon config plus local default store files before starting |
--telemetry, --telemetry=false, --no-telemetry | Set telemetry consent explicitly for this CLI version |
Notes:
- In interactive mode, plain
startprompts to create the default daemon config when it is missing. Answeringyesbehaves the same as--create-default-config; answeringnoreturns the usual missing-config error. - On a fresh machine,
bitloops start --create-default-configremains the explicit non-interactive bootstrap path for the default daemon config plus the default SQLite, DuckDB, and blob-store paths. - When you pass
--configand the file does not exist,startfails. --create-default-configonly works with the default daemon config location. It cannot be combined with--config.- When
startcreates the default daemon config and no explicit telemetry flag is present, interactive mode prompts for telemetry consent before the daemon continues. - In non-interactive mode, creating the default daemon config requires an explicit telemetry flag.
bitloops stop
Stops the daemon. If the global service is installed, Bitloops stops that service-managed runtime.
bitloops stop
bitloops daemon stop
bitloops restart
Restarts the daemon using the same targeting rules as stop.
bitloops restart
bitloops daemon restart
bitloops status
Shows daemon status, URL, config path, PID, and supervisor information.
bitloops status
bitloops daemon status
Typical output:
Bitloops daemon: running
Mode: always-on service
URL: https://127.0.0.1:5667
Config: /Users/alex/.config/bitloops/config.toml
PID: 12345
Supervisor service: com.bitloops.daemon (launchd, installed)
Supervisor state: running
If Bitloops finds legacy repo-local data such as old store directories, status also prints a warning that those paths are ignored unless explicitly configured.
Dashboard
bitloops dashboard
Opens the dashboard in your browser.
bitloops dashboard
Behaviour:
- If the daemon is already reachable, Bitloops opens the existing dashboard URL.
- If the global service is installed but not yet serving the current repo, Bitloops starts it and then opens the dashboard.
- Otherwise Bitloops prompts for foreground, detached, or always-on launch mode.
dashboard is now a launcher only. It is no longer the command that owns the server process.
Capture And History
bitloops checkpoints status
Shows repo-level capture status and the resolved thin-CLI policy.
bitloops checkpoints status
bitloops checkpoints status --detailed
The detailed view includes the discovered policy root and config fingerprint.
Other capture commands
bitloops explain
bitloops rewind
bitloops resume <branch>
bitloops reset
bitloops clean
bitloops doctor
DevQL
DevQL commands now talk to the local daemon over the existing HTTP and GraphQL surface.
Common commands
bitloops devql init
bitloops devql ingest
bitloops devql query "files changed last 7 days"
bitloops devql knowledge ingest github
Highlights:
devql initinitialises the configured relational and event storesdevql ingestsends ingestion work through the daemondevql queryuses the local daemon transport rather than in-process GraphQL execution
Completion
Generate shell completion scripts:
bitloops completion bash
bitloops completion zsh
bitloops completion fish