Patterns for driving Breadbox from agent hosts, CI runners, and remote scripts using the lite (breadbox-cli) build — same-host agents, remote agents, scheduled jobs.
Use this file to discover all available pages before exploring further.
The same CLI surface that’s pleasant to type at a prompt is also the primary way external automation drives Breadbox. This page covers three production patterns: same-host agents, remote agents over HTTP, and scheduled jobs / CI.If you’re new to the build flavors, start with Installation.
An agent running on a different machine — a VPS, a phone, a corporate workstation, a cloud function. Use the lite build (breadbox-cli) so there’s no server code on the agent host at all.
1
Build or download the lite binary
# From sourcegit clone https://github.com/canalesb93/breadbox.gitcd breadboxgo build -tags=lite -o breadbox-cli ./cmd/breadbox# Or grab a pre-built release artifact named `breadbox-cli-<platform>`.
Ship breadbox-cli to the agent host (single static binary, no dependencies).
2
Mint a key on the server
From an authenticated session on the Breadbox host:
Or use the device-code flow (no operator copy-paste of secrets):
# On the agent hostbreadbox-cli auth login --host https://breadbox.example.com# → Open https://breadbox.example.com/auth/device, enter code: ABCD-1234# The operator approves on a trusted device; the lite CLI saves the issued key.
3
Drive Breadbox from anywhere
breadbox-cli transactions list --from 2026-01-01 --jsonbreadbox-cli sync triggerbreadbox-cli connections list
Same commands as the full binary — exit codes, output formats, and flags are identical.
# /etc/systemd/system/breadbox-health.service[Service]Type=oneshotEnvironment="BREADBOX_HOST=http://localhost:8080"Environment="BREADBOX_TOKEN=bb_xxxxx"ExecStart=/usr/local/bin/breadbox doctor --skip-external
breadbox connections link --wait is the canonical way an agent helps a user add a new bank:
breadbox connections link --provider plaid --wait --json
The CLI mints a hosted-link session, prints the URL (and emits it to JSON for the agent to surface to the user), then polls every two seconds. Once the user finishes the OAuth flow in the browser, the CLI prints the resulting connection IDs and exits 0.If the agent only needs to mint the URL — letting a separate process handle the polling — omit --wait and call breadbox connections link get <session-id> periodically.