Buzz is a self-hostable team workspace from Block, Inc. where AI agents get their own cryptographic identity and sit in channels as members rather than bots, and it is one of the fastest climbing repositories on GitHub right now, adding roughly 2,200 stars in a single day to pass 7,700 total. Trying it is a five minute job if you just install the desktop app; running the thing properly means standing up your own relay, which takes closer to half an hour and wants Docker plus a Rust and Node toolchain on the machine.
- Block open sourced Buzz on July 21, 2026 under Apache 2.0, and v0.4.24 shipped on July 23 with packaged builds for Windows, macOS and Linux.
- Every message, reaction, git patch, workflow step and review approval is a signed Nostr event in a single log, so a human and an agent leave the same shape of audit trail.
- Agents connect through the Agent Client Protocol, with harnesses already written for Block's own Goose, OpenAI Codex and Claude Code.
- The desktop app is inert without a relay: it points at
ws://localhost:3000by default, so self-hosting is the actual setup step, not an optional extra.
What is Buzz and why is it trending?
Buzz is a Rust monorepo from Block, Inc., the company behind Square, Cash App and the Goose agent framework, and it went public on July 21, 2026 under an Apache 2.0 license. The pitch is that a team workspace, a code forge, a CI dashboard and an automation runner are all the same thing if you stop pretending they are different products, so Buzz collapses them into one Nostr relay. Chat messages, emoji reactions, git patches, workflow runs and review approvals are all signed events with a kind integer, stored in one Postgres-backed log and indexed by one search layer. The architecture doc is blunt about what it is not: there is no gossip, no peer-to-peer exchange, no replication. Clients talk WebSocket to a single relay and the relay does everything.
RelatedWorld Monitor Setup: Self-Host a Global Intel Dashboard
The reason it is climbing GitHub trending this week is the agent story rather than the chat app. Most AI teammates today are webhook bots wearing a name badge: they post through an integration token, inherit whatever the integration can do, and leave an audit trail that says the integration did it. Buzz gives an agent a Nostr keypair, its own channel memberships and its own signature on every action, which means scoping happens by identity the way it does for a person instead of by a permissions flag on a shared bot. Once inside, an agent can open repositories, send patches as NIP-34 events, run a first-pass code review, trigger YAML workflows, edit canvases and join voice huddles. That is a meaningfully different security posture, and it is why the launch got picked up as a Slack and GitHub rival rather than another chat clone.
How do you install the Buzz desktop app?
The fastest path is a packaged build from the Releases page. The current tag is v0.4.24, published July 23, 2026, and it carries five assets. macOS on Apple Silicon takes Buzz_0.4.24_aarch64.dmg at about 84 MB and Intel Macs take Buzz_0.4.24_x64.dmg at about 67 MB; open the disk image and drag Buzz into Applications. Linux gets Buzz_0.4.24_amd64.AppImage at about 131 MB or Buzz_0.4.24_amd64.deb at about 67 MB. Windows gets Buzz_0.4.24_x64-setup_alpha-unsigned.exe at about 40 MB, and read that filename carefully, because the project is telling you in the asset name itself that the Windows installer is both alpha and unsigned. SmartScreen will object and you should only click through after confirming the file came from the official Releases page.
Launching it is where most people stall. By default the app connects to ws://localhost:3000, so a fresh install with nothing behind it shows you a client with no server. If somebody has already shared a relay with you, point the app at it before launch by setting the relay URL environment variable, or switch relays from inside the app once it is open:
# point the desktop app at an existing relay before launching
$ export BUZZ_RELAY_URL=ws://relay.example.internal:3000
If you do not have a relay to point at, the packaged app is not enough and you need the source path below. Block staff are a special case: the README tells internal users not to build from source and not to use the OSS release, but to take the internal build from the squareup/buzz-releases repository, which arrives pre-wired to Block's relay and agent provider.
How do you self-host the Buzz relay from source?
Self-hosting is the real install. You need Docker and Hermit, Cash App's toolchain manager, which pins and downloads everything else on first use. If you would rather manage your own toolchain, the stated floor is Rust 1.88 or newer, Node 24 or newer, pnpm 10 or newer and just. The one-time setup is four lines:
# one-time: clone, activate the pinned toolchain, build
$ git clone https://github.com/block/buzz.git && cd buzz
$ . ./bin/activate-hermit
$ just setup && just build
The just setup target does more than it sounds like: it runs just bootstrap, copies .env.example to .env if you have not made one, pulls every tool through Hermit, then starts the Docker services and runs migrations. Those services are Postgres 17 on 5432, Redis on 6379, Typesense on 8108 and an Adminer database browser on 8082, and the shipped defaults in .env.example work without editing. If port 8082 is already taken on your box, the file tells you to change the Adminer port in docker-compose.yml rather than fighting it elsewhere. After that, each working session is two lines:
# every day: relay and desktop app together
$ . ./bin/activate-hermit
$ just dev
That puts a relay on ws://localhost:3000 and pops the desktop app on top of it. If you want relay logs in one pane and Vite output in another, run just relay in one terminal and just desktop-dev in a second. The rest of the daily surface is small and worth memorising: just check for fmt plus clippy plus the desktop check, just test-unit for tests that need no infrastructure, just test for the full suite including services, just ci for everything CI runs, and just reset to wipe data and recreate, which the README flags with a warning emoji for good reason.
How do you plug an AI agent into a channel?
Agents authenticate the same way people do, with a Nostr secret key, and the README's instruction is to set that key in the environment and drive the workspace through buzz-cli, a JSON in, JSON out interface built specifically to be called as an LLM tool:
RelatedStrix Setup: Run an AI Penetration Tester on Your Code
# an agent signs with its own key, not a shared bot token
$ export BUZZ_PRIVATE_KEY=your-agent-nostr-secret-key
For full coding agents there is a second route. The buzz-acp crate is a harness that bridges the Agent Client Protocol to MCP, and it ships with wiring for Goose, OpenAI Codex and Claude Code out of the box. Buzz is agent and model agnostic beyond those three, so anything that speaks ACP or can call a CLI has a way in. Windows users have one extra prerequisite here specifically: the agent shell tool executes commands under bash, which Windows does not have, so the README asks you to install Git for Windows and lets Buzz resolve its Git Bash at runtime. Any other bash-compatible shell works if you point at it:
# Windows only: override the shell the agent tool runs under
$ export BUZZ_SHELL=C:\path\to\bash.exe
How does Buzz compare with Slack, Discord and Mattermost?
| Trait | Buzz | Slack | Discord | Mattermost |
|---|---|---|---|---|
| Self-hostable | Yes, one relay | No | No | Yes |
| License | Apache 2.0 | Proprietary | Proprietary | Source available |
| Agent identity | Own keypair, own audit trail | Bot token | Bot token | Bot token |
| Git in the workspace | Native, NIP-34 events | Integration | Integration | Integration |
| Wire protocol | Nostr, open | Vendor API | Vendor API | Vendor API |
| Mobile clients | Not shipped yet | Mature | Mature | Mature |
The incumbents win on everything a workspace accumulates over a decade: mobile apps that actually notify you, an app directory, enterprise compliance tooling, and the fact that the people you need to talk to are already there. Buzz wins on the two axes it chose, which are owning the substrate and treating agents as principals rather than plugins. For a team that already runs its own infrastructure and is putting real agent work into its pipeline, that trade is legible. For anyone who needs to reach a colleague on a phone today, it is not.
What are the gotchas before you rely on it?
Five, and the project is refreshingly honest about most of them. First, mobile does not exist yet. The iOS and Android Flutter clients are listed as being wired up, not working, so notifications reach a desktop or nowhere. Second, push notifications sit in the column the README labels strong opinions, pending code, alongside web-of-trust reputation across relays, and it explicitly asks you not to plan a compliance program around that column. Third, workflow approval gates are half finished: the infrastructure exists but the maintainers describe the glue as still drying, which matters a lot if your plan is to let an agent ship behind an approval step. Fourth, the Windows installer is unsigned alpha by its own filename, so on a managed fleet it will need an exception before it gets anywhere. Fifth, self-hosting a relay is real operational work. You are running Postgres, Redis, Typesense and an object store, and if this becomes the record of why your code exists, then your backup story for that Postgres instance is now your engineering history.
- Mobile shipping. Nothing about a workspace is credible until it reaches a phone; the Flutter clients are the single biggest gap between Buzz and the tools it wants to replace.
- Approval gates landing. Agents with their own keys are only safe if a human gate exists in the workflow layer, and that glue is unfinished today.
- Whether anyone else adopts the kinds. Buzz's bet is protocol, not product. If other Nostr clients start reading its event kinds, the sovereignty argument becomes real rather than rhetorical.
Our take
The interesting idea in Buzz is not the chat app, which is a competent Tauri and React build that does what you expect. It is the claim that agent permissions are an identity problem rather than a configuration problem. Every team wiring agents into production right now is discovering that a shared bot token is a terrible unit of authorisation, because it collapses ten different agents doing ten different jobs into one blast radius. Giving each agent a keypair and letting channel membership do the scoping is the same move that made per-user accounts obviously correct thirty years ago, applied to software that acts on its own.
Whether it needs to be Nostr is the open question. The protocol buys signed events, a portable identity model and a kind-number extension story that does not break old clients, and Block clearly likes that it is nobody's property. It also buys an unfamiliar mental model and a much smaller pool of engineers who can debug it at 2am. Version 0.4.24 with no mobile client and half-wired approval gates is not something to migrate a company onto this quarter. It is very much something to stand up on a spare box, point a coding agent at, and see whether the audit trail tells you things your current stack cannot. That experiment costs an afternoon, and the answer is likely to be more interesting than the star count.
- Officialblock/buzz repository, README and quick start
- OfficialBuzz Releases v0.4.24 builds for Windows, macOS and Linux
- OfficialARCHITECTURE.md relay design, event kinds and subsystem boundaries
- ReferenceGoose Block's agent framework, one of the three shipped ACP harnesses
- ReferenceHermit the pinned toolchain manager the source build depends on
Original analysis by GenZTech. Tool documentation: block/buzz on GitHub.
