Beads (gastownhall/beads) is an open-source memory primitive built specifically for coding agents. Written in Go for portability and speed, Beads sits between your agent CLI and the filesystem, capturing conversation context, file edits, and tool calls during a session, then surfacing the relevant slice as compressed memory at the start of each new session. With 22K+ GitHub stars accumulated since launch and +485 stars on April 27, 2026 sustaining its day-3 trending momentum, Beads is the highest-velocity memory primitive of the spring 2026 trending cycle — outpacing claude-mem in growth rate by indexing across multiple agent runtimes (Claude Code, Codex, OpenCode, Cursor, Aider) rather than locking into one. Self-hosted, single-binary, no cloud dependency. The 'beads' metaphor is literal: each session compresses into a bead on the string of your project's memory chain, retrievable by relevance, time, or topic.
Beads addresses the same problem as claude-mem — coding agents forget everything between sessions — but takes a fundamentally different design path. Where claude-mem is a Claude Code plugin that ships compression via the Anthropic Agent SDK and ties tightly to one runtime, Beads is a standalone Go binary that any compliant agent can talk to via its MCP server interface. That decision unlocks cross-agent memory: a session in Claude Code on Monday and a session in Codex on Tuesday can both read and write the same memory chain.
The repo crossed 22K stars on April 27, 2026 and was the third-highest-velocity agent-tooling project of the day at +485 stars (behind warpdotdev/warp and mattpocock/skills). The Go-binary distribution model is unusual in this category — most agent tooling ships as TypeScript or Python packages — but it’s a deliberate choice. Beads can run on a developer’s laptop, a CI runner, a remote dev server, or a teammate’s machine without runtime drift.
The “memory layer” for coding agents is rapidly bifurcating. One path is runtime-bound memory — claude-mem for Claude Code, similar plugins emerging for Codex and Cursor — where each agent runtime gets its own memory implementation. The other path is runtime-agnostic memory, exposed via standard interfaces (MCP, OpenAPI). Beads is the strongest open-source entry on the runtime-agnostic path, which makes it durable in a market where developers run multiple agents and can’t afford to maintain N separate memory stores.
Beads also picks up a thread that the broader skills/harness trend has been pulling at: the value moves from the model to the layer around the model. If the harness, skills, and memory are portable across agents, vendor lock-in collapses. Beads is one of the primitives that makes that portability real.
Single-binary distribution: brew install beads or download from releases. No Python, no Node, no Docker. Starts in milliseconds, sub-50MB memory footprint, runs everywhere Go does.
Cross-agent compatibility: Beads exposes its memory store via an MCP (Model Context Protocol) server. Any MCP-compliant agent — Claude Code, Codex, OpenCode, Cursor with the right configuration, Aider via MCP bridge — can read and write the same beads.
Session compression: At the end of each session, Beads compresses the conversation transcript, file diffs, and tool calls into a ‘bead’ — a structured memory object indexed by relevance, time, topic, and file paths touched. The compression strategy is configurable; the default uses LLM summarization with a local fallback.
Project-scoped chains: Memory is organized per-repository. Beads in your ~/work/api project never leak into your ~/work/frontend project. Within a repo, beads can be filtered by branch, by date range, or by topic tag.
Local-first storage: All memory stored in .beads/ at the project root or in ~/.beads/ for global memory. SQLite-backed, no external service, no telemetry.
# Install
brew install gastownhall/tap/beads
# Initialize in a project
cd ~/work/api && beads init
# Start the MCP server
beads serve
Configure your agent (Claude Code, Codex, etc.) to connect to the local MCP server at localhost:7777. From there, beads accumulate automatically as you work.
Developers running multiple AI coding agents who don’t want to maintain N separate memory stores. Teams that share a project memory across coworkers (Beads chains can be committed to git or synced via cloud storage). Anyone burned by losing context in a long debugging session who wants explicit, queryable, version-controlled memory rather than a black-box plugin.
Open-source AI pair programming tool that works in your terminal to edit code across your entire repository.
Persistent memory layer for AI coding agents — benchmark-backed (95.2% on LongMemEval-S), 92% fewer tokens per session vs full-context pasting, zero manual memory.add() calls.
Open-source AI coding harness builder that makes AI coding workflows deterministic and repeatable via YAML-defined DAG workflows.