Releases: campfirein/byterover-cli
ByteRover CLI 3.5.1
A small patch that improves how ByteRover's MCP tools communicate with coding agents.
🌟 Highlights
🔧 Smarter MCP tool descriptions
The cwd parameter on brv-curate and brv-query MCP tools now clearly tells the calling agent when a project path is required (Claude Desktop, hosted MCP) vs. optional (Cursor, Cline, Zed, Claude Code). This reduces failed tool calls from agents that previously omitted or guessed the path.
No action needed on your side — just upgrade and brv restart.
What's Changed
✨ Features
- Improve MCP tool descriptions so coding agents reliably pass the project path — by @bao-byterover in #423
📚 Docs & Chores
- Update
CHANGELOG.mdand bump version to 3.5.1 — by @bao-byterover
🙏 Contributors
Thanks to @bao-byterover for shipping this patch.
Full Changelog: v3.5.0...v3.5.1
ByteRover CLI 3.5.0
This release adds Claude Desktop as a first-class connector, cleans up how the installer handles its bundled Node.js, and patches a security advisory.
🌟 Highlights
🖥 Claude Desktop — connect ByteRover to the Claude Desktop app
If you use the Claude Desktop app, you can now plug ByteRover into it so Claude can search and save into your context tree directly — the same memory you already use from brv.
One command to set it up:
brv connectors install "Claude Desktop"— or pick Claude Desktop from/connectorsinside the REPL.
Works on macOS and Windows (including Microsoft Store / MSIX installs) — the two platforms Anthropic ships Claude Desktop for. After installing, fully quit Claude Desktop from the tray or menu bar and reopen it — a window-level restart isn't enough for it to pick up the new connector.
📦 Cleaner installer layout
Previously, install.sh placed its bundled Node.js in the same directory it added to your PATH, which could silently shadow the node on your system — breaking nvm, project-pinned Node versions, and anything else that resolves node through PATH.
Now the bundled Node lives in lib/ and only the brv symlink sits in bin/, so your system node is untouched. Just reinstall to pick up the new layout — no config changes needed.
🛡 Security update
Updated basic-ftp to close a high-severity npm advisory. Upgrade recommended.
What's Changed
✨ Features
- Claude Desktop connector with MCP support and auto-mode on macOS and Windows (including MSIX / Microsoft Store) — by @bao-byterover in #406
- Isolate bundled Node.js so
install.shno longer shadows the systemnodeonPATH— by @bao-byterover in #413
🐛 Fixes
- Patch high-severity
basic-ftpadvisory — by @bao-byterover in #417 - Strip ANSI codes in query-renderer test assertions — by @cuongdo-byterover in #411
📚 Docs & Chores
- Update
CHANGELOG.mdandCLAUDE.mdfor the 3.5.0 release — by @bao-byterover
🙏 Contributors
Thanks to everyone who shipped this release: @bao-byterover and @cuongdo-byterover.
After upgrading, run brv restart to reload the daemon.
Full Changelog: v3.4.0...v3.5.0
ByteRover CLI 3.4.0
This release introduces brv swarm — a single place to search and save across all your knowledge tools (ByteRover context tree, Obsidian, GBrain, OpenClaw Memory Wiki, and your local notes) — plus an important security update and a few cleanups that make brv vc and knowledge search feel tidier.
🌟 Highlights
🧠 brv swarm — one place to search all your notes
If you keep knowledge in more than one tool — an Obsidian vault, a folder of markdown notes, a team wiki, plus your ByteRover context tree — brv swarm ties them all together. You ask one question, and it searches everything at once.
Getting started is a single command:
brv swarm onboard— an interactive wizard that walks you through picking which tools to connect.brv swarm status— shows which tools are healthy, which can be written to, and how they feed into each other.
Supported out of the box: ByteRover context tree, Obsidian vaults, local markdown folders, GBrain, and OpenClaw Memory Wiki. Nothing changes for your existing brv curate / brv query workflow until you opt in.
🔎 Smarter search, smarter saving
Once you've onboarded, two commands do the heavy lifting:
brv swarm query <question>— asks every connected tool in parallel and merges the results, so the best answer wins regardless of which notebook it lives in. Add--explainto see which tools were picked and why.brv swarm curate <content>— figures out the best place to save new content based on what it is. You can force a specific tool with--provider, and if nothing else is configured, it safely falls back to your ByteRover context tree.
For the agent and power users: new swarm_query / swarm_store tools are available in the AI agent, and sandboxed code can call tools.swarmQuery() / tools.swarmStore() directly. You can also route context between tools via enrichment.edges in swarm.config.yaml, with validation that catches cycles, self-references, and missing providers so misconfigurations warn instead of crash.
🛡 Security and everyday fixes
- Axios pinned to 1.15.0 — closes a known critical vulnerability. Please upgrade.
- Context-tree
.gitignorestays in sync — everybrv vccommand now tops up missing ignore patterns, so you stop seeing derived files clutter yourbrv vcdiffs after a CLI update. - Stale knowledge is cleaned up — entries that pointed to deleted files no longer show up in
brv searchandbrv queryresults.
What's Changed
✨ Features
brv swarm— connect Obsidian, local markdown, GBrain, and the ByteRover context tree; includesonboard,status, and theswarm_query/swarm_storeagent tools by @ngduyanhece in #372- OpenClaw Memory Wiki adapter for
brv swarmby @cuongdo-byterover in #405 brv swarm querywith source labels and--explainflag by @cuongdo-byterover in #383brv swarm curatewith automatic fallback to the ByteRover context tree by @cuongdo-byterover in #396- Faster repeated swarm queries via a short-lived result cache by @cuongdo-byterover in #390
gpt-5.4-miniadded to the Codex allowed models list by @withakay in #393
🐛 Fixes
- Pin axios to
1.15.0to close a critical security vulnerability by @leehpham in #399 - Keep the context-tree
.gitignoreup to date automatically on everybrv vccommand by @bao-byterover in #374 - Clean up knowledge entries whose source files were deleted by @bao-byterover in #384
- Improve swarm search precision and error messages by @cuongdo-byterover in #376
- Harden swarm memory adapters (YAML injection, error handling, review fixes) by @cuongdo-byterover in #408
- Make
confidenceandimpactoptional with safe defaults by @cuongdo-byterover in #398 - Fix flaky unit tests by @bao-byterover in #388
📚 Docs & Chores
- Document
brv swarm queryandbrv swarm curatein SKILL by @cuongdo-byterover in #409 - Use
COLLABORATOR/CONTRIBUTORfor PR auto-review author checks by @leehpham in #373 - Update
CHANGELOG.mdandCLAUDE.mdfor the 3.4.0 release by @bao-byterover
🙏 Contributors
Thanks to everyone who shipped this release: @ngduyanhece, @cuongdo-byterover, @bao-byterover, @leehpham, and @withakay.
After upgrading, run brv restart to reload the daemon.
Full Changelog: v3.3.0...v3.4.0
ByteRover CLI 3.3.0
This release adds brv search - a pure BM25 retrieval command that ranks context-tree results with zero LLM calls, zero provider config, and zero token cost - plus a long-requested --timeout flag for brv curate and brv query so slow local models can finish their work. A handful of legacy-sync papercuts get cleaned up along the way.
🌟 Highlights
🔎 brv search - zero-cost BM25 over the context tree
A new command that ranks files in your context tree using pure BM25 retrieval - no LLM, no provider config, no token budget to watch. It complements brv query for cases where you want structured results with paths, scores, and excerpts rather than a synthesized answer. Flags: --limit <n> (1–50), --scope <prefix> to restrict search to a subdirectory, and --format json for scripting. Rule of thumb: use brv search when you need the raw hits, brv query when you want an answer.
⏱ --timeout on brv curate and brv query
Override the previous hard-coded 5-minute limit so slower local models (Ollama, LM Studio, llama.cpp) can finish long-running operations. Accepts a value in seconds, defaults to 300, caps at 3600. No effect when combined with --detach.
🧹 Cleaner brv vc experience for legacy-sync users
Three fixes that make brv vc quieter and less confusing for projects migrating off the old space-sync flow: brv push / brv pull now show a clear deprecation pointing at brv vc init, brv status no longer litters the project with a stray .snapshot.json, and adaptive *.abstract.md / *.overview.md artifacts are excluded from the context-tree .gitignore so they stop showing up in brv vc diffs.
What's Changed
✨ Features
- Add
brv searchBM25 context-tree retrieval command by @danhdoan in #358 - Add
--timeoutflag tobrv curateandbrv queryby @andreivladmatei in #342
🐛 Fixes
- Replace misleading "no space configured" error on
brv push/brv pullwith a deprecation notice linking tobrv vc initby @bao-byterover in #361 - Stop
brv statusfrom auto-creating.snapshot.jsonon VC-managed projects; now reports "Managed by Byterover version control" by @bao-byterover in #362 - Exclude adaptive
*.abstract.md/*.overview.mdartifacts from the context-tree.gitignoreso they stop pollutingbrv vcdiffs by @bao-byterover in #363
📚 Docs & Chores
- Updated
CHANGELOG.mdandCLAUDE.mdfor the 3.3.0 release by @bao-byterover
🙏 Contributors
Thanks to everyone who shipped this release: @danhdoan, @andreivladmatei, and @bao-byterover.
After upgrading, run brv restart to reload the daemon.
Full Changelog: v3.2.0...v3.3.0
ByteRover CLI 3.2.0
This release brings multi-repo knowledge sharing to brv. You can now run brv from monorepo subdirectories and sibling checkouts without spawning a second .brv/, pull context from other projects as read-only knowledge sources, and see everything the resolver figured out at a glance from brv status. The tagline: one project's knowledge, any worktree's workflow.
🌟 Highlights
🌳 Git-style worktree links
brv worktree add [path] registers a subdirectory or sibling checkout as a worktree of a parent project by dropping a .brv pointer file (not a directory) that redirects to the parent - the same trick git worktree uses with .git. Run it from inside the subdirectory with no args to auto-detect, list worktrees with brv worktree list, and unregister with brv worktree remove. If the target already has an auto-init'd .brv/, --force backs it up to .brv-backup/ and remove restores it. Also available as /worktree in the REPL.
🔗 Cross-project knowledge sources
brv source add <path> [--alias <name>] links another project's context tree as a read-only knowledge source. Query results pulled from a source are tagged with a shared origin and the source alias, so you can always tell which project an answer came from. A three-layer write guard blocks curate and file writes from leaking into someone else's context tree. Manage sources with brv source list / brv source remove, or /source from the REPL.
🧭 Resolver-aware brv status + workspace-scoped curate/query
brv status now surfaces the resolved project root, the linked worktree root (when different), knowledge-source validity, and actionable warnings for broken or malformed pointers. --verbose shows the resolution source (direct / linked / flag), and a new --project-root <path> flag lets you override auto-detection and fail loudly when the target isn't a ByteRover project. brv curate and brv query automatically pass the worktree root to the daemon when invoked inside a linked worktree - your shell-relative paths still resolve from cwd, so muscle memory keeps working.
What's Changed
✨ Features
📚 Docs & Chores
- Updated
CHANGELOG.mdandCLAUDE.mdfor the 3.2.0 release by @bao-byterover - Added null/undefined handling guidance to the CLAUDE.md TypeScript section by @leehpham
🙏 Contributors
Thanks to everyone who shipped this release: @wzlng, @bao-byterover, and @leehpham.
After upgrading, run brv restart to reload the daemon.
Full Changelog: v3.1.0...v3.2.0
ByteRover CLI 3.1.0
This release is all about adaptive knowledge. brv now learns from how its knowledge is actually used — frequently-consulted entries rise in search, large entries are stored as compressed abstracts so they cost fewer tokens to consult, and the agent quietly distills patterns and decisions from each REPL session into durable knowledge. The longer you use it, the sharper it gets.
🌟 Highlights
📈 Adaptive knowledge scoring
The knowledge base now ranks results by usage. A new hotness score combined with hierarchical score propagation surfaces the entries you actually consult, while neglected ones decay out of the way. Search relevance improves automatically as you work.
📝 Knowledge abstracts
Knowledge entries now auto-generate compressed abstracts and overviews, so the agent can reason over a much larger knowledge base without burning the context window.
🧠 Session learning
A new session-learning pass extracts patterns, preferences, decisions, and skills from each REPL session and stores them as durable knowledge for future runs — repeated workflows and project conventions get internalized instead of re-discovered.
📥 Resource ingestion tool
A new agent tool pulls external files and resources directly into your knowledge base from inside the REPL, so you can bring in docs, specs, and reference material without leaving brv.
What's Changed
✨ Features
- Adaptive knowledge scoring, abstracts, session learning, and the resource ingestion tool by @ngduyanhece in #336
🐛 Fixes
- Fixed double compound scoring in parent score propagation, tightened maturity filtering, and corrected result truncation in knowledge search by @ngduyanhece in #336
- Clean oclif client cache in install/uninstall scripts to prevent stale-cache issues after upgrades by @bao-byterover in #345
📚 Docs & Chores
- Updated
CHANGELOG.mdandCLAUDE.mdfor the 3.1.0 release by @bao-byterover
🙏 Contributors
Thanks to everyone who shipped this release: @ngduyanhece, @bao-byterover, @RyanNg1403, and @leehpham.
Upgrade
# npm
npm uninstall -g byterover-cli
npm i -g byterover-cli
# native binary (macOS / Linux)
curl -fsSL https://byterover.dev/uninstall.sh | sh
curl -fsSL https://byterover.dev/install.sh | shAfter upgrading, run brv restart to reload the daemon.
Full Changelog: v3.0.1...v3.1.0