brindle 0.3.18
New for everyone
- A blocked question no longer stops the session. When a supervisor asks you something with
need_user, only the work that depends on the answer waits. It keeps going on everything else, and an unrelated message from you no longer cancels the question. A denied action or a CI job no runner picks up is handled the same way. - Stall alerts come with the evidence. When a worker stops without reporting, its supervisor gets a summary: whether the process is alive, its last activity, its commits and diff, and its uncommitted files. A worker still changing files isn't flagged as idle. brindle also tells the supervisor when a reported branch never gets a reviewer, or when a worker that already reported has unread messages.
- Milestones show work in progress. A milestone whose last check failed shows ◐ while work for the session is running, and ◌ while that work is queued or paused. It shows ✗ only when nothing is in flight.
- The supervisor starts on an up-to-date main. Starting on the default branch fast-forwards it to
origin. A divergedmain, or local changes in the way, get a warning instead, and local work is never touched. A branch whose upstream was deleted while it still has unmerged changes also gets a warning.
For Team
- A profile's Claude model is kept on a company route. When the route pins an ID for
opus,sonnetorhaiku, a profile asking for that model runs on it instead of the route's default. The org's model allowlist accepts the pinned route ID. When a refusal comes from the route's default model, the message says so.brindle account org policyshows the route setup. - Routes can't silently refuse every worker. Saving a policy that leaves a route's default model, or one of its pinned models, outside the allowed models is refused. The Routing and Models pages warn when an existing policy is already in that state.
Fixes
- A working agent was sometimes reported as stopped at a startup prompt, because brindle read the agent's own task text on screen as a prompt.
- Workers could start without brindle's tools on a busy machine, so they couldn't report. Claude and Codex now get 120 s to connect to brindle, and the supervisor is told if the connection still fails.
- A worker on a Vertex model its deployment doesn't serve now fails, and its supervisor is told, instead of sitting idle. Later tasks skip that profile.
- A Claude worker with hooks disabled no longer sits idle when given a finish line.
- A reviewer whose branch has already merged is no longer reported as stalled.
- When the sign-in check can't run, the notice says so instead of claiming Claude isn't installed.
Docs
- Using Claude Code's
apiKeyHelperfor keys rotated outside brindle. - An organisation's managed settings can pin the supervisor's model; switch with
/modelif your org allows it.
Try brindle. Free, source-available (Brindle License 1.0), on macOS and Linux.
curl -fsSL pawdelta.com/brindle/install | sh