BusyBro shows up in several places — the dashboard chat panel, your iPhone, the @busybrobot Telegram bot, and the bmc CLI at your terminal. Each of those is a different environment, and BusyBro should behave a little differently in each: concise and tap-by-tap on a phone, link-friendly on the dashboard, short and skimmable on Telegram, command-oriented in a terminal.
That per-environment behaviour ships with a sensible built-in default — and you can tune it from the dashboard, without a code change.
Where to edit it
Open the dashboard at Settings → BusyBro → Settings, and choose the Environment instructions group in the sidebar. You'll see a four-tab editor — one tab per surface:
- iOS — BusyBro inside the BusymateHelper app on a phone.
- Web — the dashboard chat panel on a desktop.
- Telegram — the @busybrobot chat.
- bmc — BusyBro helping someone at the
bmcCLI.
Each tab is one instruction box that shapes how BusyBro talks and acts on that surface.
Empty means "use the built-in default"
You don't have to write anything. An empty box means BusyBro uses its built-in default for that surface — the box even shows that default as faded placeholder text so you can read what BusyBro would do, and a tab on the default is marked "using default".
- iOS and bmc ship with a real built-in block (iOS knows the in-app setup flow, the CA-trust step, and the Network tab; bmc knows it's a terminal and never tells you to install a VPN or certificate).
- Web and Telegram have no built-in environment block by default — BusyBro relies on its general behaviour there until you add one.
When you do type something, your text replaces the built-in block for that surface — your instruction becomes the authoritative voice there, so there's no double messaging. Clear it back to empty to return to the default. Two buttons help: Load default to edit copies the built-in text into the box so you can adapt it, and Reset to default clears the box back to empty.
Tip: A box is capped at 6,000 characters, with a live counter — plenty for detailed guidance, while keeping a stray paste from bloating the prompt.
What it changes (and what it can't)
These instructions tune how BusyBro behaves — its tone, what it leads with, what it points you to — per environment. Editing the iOS box, for example, lets you make BusyBro on the phone even more tap-by-tap, or steer it toward a particular setup nuance, without touching the dashboard or Telegram behaviour.
What they don't change:
- They never widen what BusyBro is allowed to do. Your role's permissions, the confirm prompts, and ownership checks all still apply — an instruction can't grant a capability.
- They're not message formatting. BusyBro still uses Markdown on the dashboard and iOS and Telegram-HTML on Telegram automatically; the environment instruction sets behaviour and voice, not markup.
Each surface is independent: editing one tab only affects that surface.
When a change takes effect
BusyBro reads these settings on a short refresh cycle, so a save takes effect within about 10 minutes across every surface at once. The editor reminds you of this. (There's nothing to deploy — it's a settings change, not a code change.)
Who can edit
Changing environment instructions is admin-only — the editor mirrors the same users:edit permission that gates BusyBro's other settings. Someone with read access sees the tabs and the resolved text but can't change them. Saving asks for a confirmation that names exactly what's changing.
The same settings over MCP
Because this lives in BusyBro's settings, it's reachable over MCP too: get_busybro_settings returns the per-surface instructions, and set_busybro_settings can change them (admin + confirm), so an external agent sees and edits the identical configuration. See LLM providers for the other settings that live alongside it.
See also
- In the dashboard — the chat panel these instructions shape on the web.
- What it can do — the permission model the instructions can't override.
- LLM providers — the other dashboard-editable BusyBro settings.
- Architecture: BusyBro — the shared brain that reads them.