Instant branches: a throwaway copy for the agent to break
branches
Read-only access is the right default, but some work genuinely needs writes: a migration you want an agent to test, a data fix you want to see applied before it touches production, a schema change you want to review as a diff.
Branches give the agent somewhere to do that. A branch is a copy of the database the agent can write to freely, with its own credential and its own policy. When the task is done you delete it, and nothing it did reaches your primary.
Idle branches suspend on their own, so a branch you forgot about is not a branch you keep paying for. Each plan includes a branch allowance.