Skip to content

BERD TASK · 0020 · SAFEGUARD AND HAND OFF

Manage connections and extensions

Everything under the connections section of Settings is "a thing Berd can use on your behalf", and that is the reason to be slow here. A connection is an OAuth sign-in that gives an agent standing access to Slack, GitHub or Google Drive; an extension is a tool you configure by hand. They share one grid and have different rules. The outcome of this task is that you know which kind you are adding, who manages it, and what its status means before you act on it.

Not in the public build

At v0.6.4 the public release compiles company-managed connections off (VITE_MANAGED_CONNECTIONS=0 in the release workflow), and with them the whole OAuth connections catalog — Slack, GitHub, Google Drive sign-ins — because that catalog mirrors Block-internal services; Block's internal distribution has it. In a public build the connections section holds extensions only (local MCP servers, ACP, builtin), and steps 2 and 3 describe what exists in the source for the day a distribution you run enables connections. Step 5's ML thresholds are compiled off the same way (VITE_SECURITY_ML=0); trusted link domains remain. Last checked: Berd v0.6.4, 2026-09-11.

Steps at a glance

  1. Know which of the two you are adding
  2. Leave company-managed connections to whoever manages them
  3. Read the status before re-doing the set-up
  4. Add a connection with the agent, not by guessing
  5. Know what the security section protects

1. Know which of the two you are adding

An extension is a tool integration you configure directly — stdio, SSE, streamable HTTP, ACP or builtin — by supplying a command, a URL or a config. In the public build this is the only kind you add: if you want an agent to reach Slack, GitHub or Google Drive, you add the service's MCP server as an extension and hold its credential yourself. A connection comes from a catalog Berd defines — you sign in to an external service and the agent can act through it — and exists only in distributions that enable managed connections. Since v0.6.2 the grid groups them: company-managed services, and local MCPs configured for Goose, Claude Code or Codex; each shows which harnesses it works with.

[SCREENSHOT: T20-01 — the connections grid (public build: extensions only)]

The difference that matters to a consultant: either one is access. Once granted, every agent that can use it has the reach you gave it, in every session, until it expires or you disconnect it — and an extension holding a token you supplied is no less standing access than an OAuth connection.

2. Leave company-managed connections to whoever manages them

Company-managed connections are provisioned centrally and matched against the same catalog. They are not freely editable or deletable the way your own extension is. If a control is missing on one, that is the design, not a defect; the answer to "why can't I edit this" is in Why can't I edit a company-managed connection?. On the public build, and on any install nobody manages for you, this group does not appear at all.

3. Read the status before re-doing the set-up

In distributions that enable connections, a connection can be active, disconnected, expiring (with a count of days) or expired. Expiring and expired are not the same as disconnected: the sign-in worked and has aged out, and the fix is to extend or reconnect, not to set it up again. Berd's own help agent is told to ask whether a connection shows expired before treating "not working" as a set-up problem. Do the same. An extension in the public build has no such status: if it stops working, the token or command you gave it is what to check.

[SCREENSHOT: T20-02 — an expired status (distributions with connections enabled)]

4. Add a connection with the agent, not by guessing

The connections section offers to add a connection through the agent; this guided route is in the public build, where what it adds is an extension. The prompt it hands over is worth reading, because it sets the rules for you as much as for the agent: ask first whether this is a company-managed service or a local MCP (in the public build the answer is always a local MCP), explain the set-up and access requirements, ask before changing any configuration, and never print or copy credentials. If you configure an extension by hand instead, the fields are name, type, command or URL, arguments, environment variables and a timeout; an extension can be marked always-on, which loads it into every chat, or reset to on-demand.

What the guided flow looks like on screen, and the grid's current layout, are not described in the sources.

5. Know what the security section protects

In the public build the security section of Settings holds the trusted link domains list — the domains Berd will open without asking — and that is what you manage here. In distributions that enable security ML (not the v0.6.4 public release, which compiles VITE_SECURITY_ML=0), the same section adds prompt-injection detection (scans conversation context) and command-injection detection (scans tool calls), each with a sensitivity threshold from 0.0 to 1.0 — lower is more sensitive and prompts more often; changes take effect after a restart. When something is flagged you get a security alert with the flagged command, the confidence, and Allow once or Block. On an org-managed install these protections are locked on. The classification service needs a network path the strings call WARP, which is why it is Block-internal.

[SCREENSHOT: T20-03 — the security section (public build: trusted domains)]

Watch out

A connection is standing access, not a one-off permission. Before granting one on a laptop that holds client material, decide whether an agent should be able to read that service at all — and remember that a skill or agent from outside your team will use whatever connections it finds.

Last checked: Berd v0.6.4, 2026-09-11 — read from source and release notes, not yet tested in the app.

Learn more

Reference

Moment
apply
Takes
untimed
Steps
5
Verified
Berd v0.6.4 · 2026-09-11 · source-read
NEVER BESTUCK AGAINCLICK ME

Guide built with Berd, Claude and Codex · verified against Berd v0.6.4, 2026-09-11 · read from source, not yet tested in the app · Buzz Guide · About · not affiliated with Block