Get it for macOS

Adds Meta's Muse Code as a bb provider over its own session protocol: streamed timeline, approvals, subagents, model picker, health, and the plan's own 5-hour and weekly usage limits as Muse reports them.


Overview

View source

What you get

Muse Code appears in the provider picker beside the providers bb ships. Pick it for a thread, choose a model from Muse's own catalog, and set a reasoning level from low through x-high.

Everything Muse does lands on bb's timeline as bb items: commands with their output, file edits, searches, its todo list, its reasoning, and the subagents and workflows it starts. Approvals and questions arrive as bb prompts, so a thread waiting on you looks like one.

bb's own tools go the other way. Thread mentions, findings, owner decisions, and UltraGoal are all callable from inside Muse.

How it works

Each thread gets its own muse serve host, driven over the Muse Session Protocol. bb's permission policy decides who answers an approval: under full access and auto nobody asks you, and accept-edits leaves you as the reviewer.

Selecting Muse's most permissive approval mode is only half of that. Muse reviews a shell command one argv stage at a time and escalates any fragment its grammar cannot resolve — a ${VAR}, a substitution, a heredoc — whatever mode it is in, which is most of the commands an agent writes. So the bridge answers those itself under a policy bb has already decided, and asks you only where bb named you the reviewer, or where Muse flags a reach past your permission scope and bb asked for that to be escalated.

Steering a running thread is queued, not injected. Muse finishes the model call it is on, then picks up what you sent at the turn boundary — so a reply that looks like it ignored you is usually the previous prompt finishing, with your message about to be answered by the turn that opens right after it. Stop the thread first if you need to cut a running call short.

Injected tools reach Muse through an MCP server the bridge starts for that thread, configured in a private directory. Your own Muse settings and credentials are read, never written, and bb's tools never appear in your terminal sessions. Each thread's MCP server holds a credential minted for that thread and its declared tools alone, so one thread cannot call another's.

When Muse fails a turn for something a new session clears, bb rebuilds the session and runs your prompt again once, carrying a transcript of the conversation into the replacement. An expired login or a rate limit is reported instead, because neither is fixed by a rebuild.

The subscription meters are Muse's own: the 5-hour and weekly limits Muse 1.4 reports with every model response, kept from the last Muse turn on the machine. Before the first turn, the window is measured from Muse's session logs instead.

Requirements

The Muse Code CLI must be installed on the machine that runs the thread, and signed in with muse login. The plugin reports the installation and login state and can run the install for you. A Meta account with Muse Code access is required; the rate limits are Meta's.

Security posture

Muse's OS sandbox is off by default, and network access is allowed. A shell command Muse runs is confined by nothing at the OS level; bb's permission modes and approvals are the enforcement surface, and under bb's Full access mode — its documented approval bypass — that surface is deliberately empty.

The default is off because Muse's sandbox is all-or-nothing and denies the Darwin per-user cache: with it on, nothing that invokes Swift or Clang builds. Turn on Muse's own OS sandbox in the plugin settings for OS-level containment, at that cost. Sandboxed commands are allowed network by default rather than Muse's proxy-only, which truncates the bb CLI's larger responses; Sandbox network narrows it.

Links

More from Braedon Saunders

Audio PreviewPlays .m4a and other audio files in BB's file panel, including audio/mp4 that the built-in preview refuses.24BallastKnow which thread is eating your RAM before the machine starts paging. Reads vm_stat page classes rather than the free percentage macOS reports, which counts inactive pages as free and stays reassuring while the box holds gigabytes of swap — pressure is graded on headroom, paging rate, compression and the kernel's own verdict, and the banner names the signal that decided. Consumers roll up by process tree and by BB thread, matched through worktree paths, so a 2.4GB row names a thread you can steer instead of six identical node processes. A guard can throttle BB concurrency, ask the hungriest threads to release memory, stop orphaned processes, or hand the problem to an agent — every one of those is off until you turn it on. Nothing is stopped unless nothing can still be waiting on it, and the apply step takes only ids the plan minted, re-checked against the live process table. macOS and Linux, no account or external service.NewProvider UsageShows how much of each provider's plan is left — every rate-limit window, percent remaining, and when it resets, including Muse Code's 5-hour and weekly limits — plus a 7/30/90-day token chart covering every provider, from local transcripts and BB's own usage events.92ReclaimFind what filled your disk and get the space back, without guessing. Indexes the whole volume with no scan cap and counts hardlinks and APFS clones once, so shared copies do not inflate folder totals. Browse any folder by real subtree size, or work from a costed list of build output, idle dependencies, package caches, Xcode derived data and Docker layers, including compacting the Docker VM disk image that pruning alone never shrinks. Deletion is confined to roots you authorize, and a guard can clean up or hand the problem to an agent when space runs low. macOS and Linux, no account or external service.19

More in Agents & Providers 58

Add, choose, configure, route, or coordinate who runs a thread.

View all