Releases: campfirein/byterover-cli
ByteRover CLI 3.16.1
ByteRover CLI 3.16.1 is a small patch release with one fix: a valid login is no longer misread at startup, so a signed-in session stays signed in across restarts. No more being bounced to the provider picker or asked to run brv login again on every launch. Safe to upgrade, with no behavior change and nothing to reconfigure.
What's Changed
🐛 Fixed
- Stay signed in across restarts. A valid login could be misread when the CLI started up, which dropped you into the provider picker and asked you to run
brv loginagain on every launch. The CLI now reads your auth state correctly, so once you are signed in you stay signed in. By @bao-byterover in #709
🚀 Upgrade & Install
Fresh install (macOS / Linux):
curl -fsSL https://byterover.dev/install.sh | shExisting users: re-run the installer above to upgrade in place, then run brv restart so the daemon picks up the new version.
✅ No Breaking Changes
Fully backward compatible. Your provider connections, settings, context trees, and connected agents keep working with no migration.
🙏 Contributors
Thanks to @bao-byterover for shipping this release.
Full Changelog: v3.16.0...v3.16.1
ByteRover CLI 3.16.0
ByteRover CLI 3.16.0 lets you cancel long-running tasks from anywhere and gives you a switch to turn off update prompts. It also fixes a setup error that blocked custom models on several third-party AI providers, and refreshes dependencies to clear security advisories. Safe to upgrade, with no behavior change unless you opt in.
What's Changed
✨ Added
- Cancel a running task from anywhere.
brv curate,brv query, andbrv dreamnow accept--cancel <taskId>, so you can stop a task that was started from another terminal or detached to the background. In the foreground, the first Ctrl+C asks the task to stop cleanly; a second Ctrl+C hard-exits with code 130. In the REPL, Ctrl+Q cancels the active curate or query task, and a footer hint shows when it is armed.brv webuialso adds a Cancel button on task list rows and on the task detail header. No more killing the daemon to stop a runaway run. By @bao-byterover in #680, with the WebUI cancel button by @ncnthien in #693 and the REPL Ctrl+Q footer by @cuongdo-byterover in #697. - Opt out of update checks. New setting
update.checkForUpdates(boolean, defaults totrue). Runbrv settings set update.checkForUpdates falseto silence the y/n update prompt at startup and stop the background auto-update from kicking in. Manualbrv updatestill works whenever you want to upgrade on your own schedule. By @bao-byterover in #696, with the matching WebUI toggle in the Updates panel by @ncnthien in #695.
🐛 Fixed
- Custom models on OpenAI-compatible providers. Connecting DeepSeek, GLM, Moonshot, Cerebras, Cohere, DeepInfra, Together AI, MiniMax, Perplexity, or any other OpenAI-compatible endpoint with a non-default
--modelused to fail with a confusing "Model X is not supported for provider 'gemini'" error. The registry now routes every OpenAI-compatible provider through the right model list, so any model your endpoint exposes is accepted. By @cuongdo-byterover in #701 - Security dependency update. Patched npm dependencies to clear several
npm auditadvisories. No user action required. By @bao-byterover in #702
🚀 Upgrade & Install
Fresh install (macOS / Linux):
curl -fsSL https://byterover.dev/install.sh | shExisting users: re-run the installer above to upgrade in place, then run brv restart so the daemon picks up the new version.
✅ No Breaking Changes
All changes are backward compatible. update.checkForUpdates defaults to true, so your update behavior is unchanged unless you explicitly opt out. Cancel is opt-in too: nothing cancels until you press Ctrl+C, press Ctrl+Q in the REPL, click Cancel in brv webui, or pass --cancel <taskId>. Existing context trees, provider connections, settings, and connected agents continue to work with no migration.
🙏 Contributors
Thanks to @bao-byterover, @ncnthien, and @cuongdo-byterover for shipping this release.
Full Changelog: v3.15.1...v3.16.0
ByteRover CLI 3.15.1
ByteRover CLI 3.15.1 is a small follow-up to 3.15.0 with two fixes: the review-before-changes toggle that disappeared from the brv webui Configuration page is restored, and brv update no longer leaves previous CLI versions piling up in the plugin cache. No new features, no breaking changes, safe to upgrade.
What's Changed
🐛 Fixed
- Review settings panel restored in
brv webui. The on/off toggle for review-before-changes (Configuration → Version Control) went missing in 3.15.0. It is back in the same spot, alongside Identity and Remotes, so you can turn the human-in-the-loop review queue on or off per project from the dashboard again. By @ncnthien in #692 brv updatetidies up old versions. Each upgrade used to leave previous CLI versions sitting in the plugin cache, slowly eating disk space. The cache now keeps only the version you just installed, so repeated upgrades stop accumulating. By @leehpham in #688
🚀 Upgrade & Install
Fresh install (macOS / Linux):
curl -fsSL https://byterover.dev/install.sh | shExisting users: re-run the installer above to upgrade in place, then run brv restart so the daemon picks up the new version.
✅ No Breaking Changes
All changes are backward compatible. Existing context trees, provider configs, settings, and connected agents continue to work with no migration. If the Configuration → Version Control panel was already empty for you on 3.15.0, the review toggle returns automatically after upgrade with the same enabled or disabled state it had before.
🙏 Contributors
Thanks to @ncnthien and @leehpham for shipping this release.
Full Changelog: v3.15.0...v3.15.1
ByteRover CLI 3.15.0
ByteRover CLI 3.15.0 introduces user-configurable settings via the new brv settings command, so you can tune things like agent pool size, concurrent tasks per project, and the LLM iteration budget without editing source or rebuilding. The brv webui Configuration page is reorganized into three sections (General, Connectors, Version Control) to make room for the new controls, folder metadata now renders in the Contexts detail panel, and the --timeout flag is deprecated in favor of llm.iterationBudgetMs set via brv settings.
What's Changed
✨ Added
- Tune BRV with
brv settings. Adjust runtime knobs like agent pool size, concurrent tasks per project, LLM iteration budget, and task-history retention without editing source or rebuilding.brv settingslists every option by category (concurrency, LLM, task history);brv settings get/set/reset <key>operates on a single value. Use plain numbers for count keys (e.g.agentPool.maxSize 25) and duration strings for time keys (e.g.llm.iterationBudgetMs 30mor1h 30m). Values persist at<BRV_DATA_DIR>/settings.jsonand can be browsed from the Configuration page inbrv webui. Runbrv restartafter a change. By @bao-byterover in #673 - Folder metadata in
brv webuiContexts. Folders in the context tree now render their title, summary, tags, and related links in the detail panel, the same way files already did. By @ncnthien in #676
🚀 Changed
- Configuration page in
brv webuireorganized. Settings now live under three sections (General, Connectors, Version Control) instead of one long page, so the new agent-pool and task-history controls have room alongside the existing identity, provider, and remote settings. By @bao-byterover in #673 --timeoutflag is deprecated. Passing--timeouton commands that accepted it now logs a one-line deprecation notice and has no effect. Usebrv settings set llm.iterationBudgetMs <duration>(e.g.30m,1h, or raw ms) to change the LLM iteration budget instead, then runbrv restart. By @bao-byterover in #673
🚀 Upgrade & Install
Fresh install (macOS / Linux):
curl -fsSL https://byterover.dev/install.sh | shExisting users: re-run the installer above to upgrade in place, then run brv restart so the daemon picks up the new settings store and the reorganized Configuration page.
✅ No Breaking Changes
All changes are backward compatible. Existing context trees, provider configs, and connected agents continue to work with no migration. The --timeout flag still parses without erroring (commands log a one-line deprecation and ignore the value); migrate scripts that relied on it to brv settings set llm.iterationBudgetMs <duration> followed by brv restart to keep the same effect. New settings keys default to the values previously hard-coded in src/constants.ts, so behavior is unchanged until you opt in by running brv settings set.
🙏 Contributors
Thanks to @bao-byterover and @ncnthien for shipping this release.
Full Changelog: v3.14.0...v3.15.0
ByteRover CLI 3.14.0
ByteRover CLI 3.14.0 brings the human-in-the-loop review queue into the brv webui dashboard: pending curate operations now show up next to your other diffs in the Changes tab, with a per-project on/off toggle on the Configuration page. The release also fixes two long-standing pain points: brv vc checkout now works right after brv vc init and brv vc fetch instead of failing with a misleading "no commits yet" error, and the MCP server used by Claude Desktop, Cursor, and other MCP-aware clients no longer pegs the CPU or hangs on shutdown when the daemon disconnects.
What's Changed
✨ Added
- Review pending changes from
brv webui. The human-in-the-loop review queue now lives inside the Changes tab, with a Configuration toggle to turn review on or off per project. Approve, reject, or inspect pending curate operations next to your other diffs. Thebrv reviewCLI commands still work, and dashboard links deep-link straight to the right project's Changes tab. By @ncnthien in #644
🐛 Fixed
brv vc checkoutworks on a freshly initialized project. Right afterbrv vc initandbrv vc fetch, checking out a remote-only branch used to fail with a misleading "no commits yet" error. The fetched ref now resolves correctly, so the init, fetch, checkout sequence works as expected. A typoed branch name also reports "branch not found" instead of "no commits yet." By @bao-byterover in #656- MCP server no longer pegs the CPU after the daemon disconnects. When the daemon dropped, the MCP server used by Claude Desktop, Cursor, and other MCP-aware clients could spin into a high-CPU loop and hang on shutdown. It now installs one-shot crash guards, exits cleanly within 2 seconds, and lets pending tool calls return a real error before the connection closes. By @bao-byterover in #664
🚀 Upgrade & Install
Fresh install (macOS / Linux):
curl -fsSL https://byterover.dev/install.sh | shExisting users: re-run the installer above to upgrade in place, then run brv restart to reload the daemon so the new MCP shutdown guards and HITL webui handlers take effect.
✅ No Breaking Changes
All changes are backward compatible. Existing context trees, provider configs, and connected agents continue to work with no migration. The HITL review toggle defaults to whatever your project already had set (review stays on unless you previously disabled it with brv review --disable), and the brv review CLI commands are unchanged.
🙏 Contributors
Thanks to @ncnthien and @bao-byterover for shipping this release.
Full Changelog: v3.13.0...v3.14.0
ByteRover CLI 3.13.0
ByteRover CLI 3.13.0 reworks the billing experience: your remaining ByteRover credits now show in the REPL and web headers, and connecting a provider lets you pick which billing team to charge per project. When you do run out of credits, the CLI points you straight at the top-up page instead of failing with a generic error. The release also dedupes duplicate models from OpenAI-compatible upstreams, simplifies the OpenClaw installer, and fixes a collision in shared AGENTS.md / CLAUDE.md rules connectors that affected projects with multiple agents installed.
What's Changed
✨ Added
- ByteRover credits in the header and a per-project billing team picker. The REPL and web headers now show your remaining ByteRover credits, and
brv providers connectlets you pick which billing team to charge for a given project. The choice is remembered until you change it, and you can override the billing endpoint withBRV_BILLING_BASE_URL. By @ncnthien in #653 - Clear "out of credits" message with a top-up link. When a request fails because your ByteRover credits run out, the CLI now shows a direct top-up URL instead of a generic failure. By @ncnthien in #653
🚀 Changed
- Duplicate models filtered from OpenAI-compatible providers. Some upstream endpoints (e.g. NVIDIA NIM) return the same model under multiple aliases.
brv providers connectnow dedupes by model ID so the picker shows clean rows. By @ncnthien in #652 - Simpler OpenClaw installer.
scripts/openclaw-setup.shnow auto-installs thebrvCLI if it is missing, installs the skill vianpx clawhub@latest, and points to "connect a provider" as the post-install next step. The Daily Knowledge Mining cron and the onboarding plugin scaffold were removed. By @cuongdo-byterover in #635
🐛 Fixed
- Shared rules connectors no longer collide. When several agents share a single
AGENTS.mdorCLAUDE.md(e.g. Amp, Codex, OpenCode, or Claude Code + OpenClaude),brv connectors listnow reads the footer marker inside the BRV section so only the installed agent's rules connector is shown. By @RyanNg1403 in #617 - OpenClaw installer no longer crashes under strict shell mode. Fixed an unbound-variable error in
scripts/openclaw-setup.shand cleaned up orphan onboarding-plugin code paths. By @cuongdo-byterover in #635
🚀 Upgrade & Install
Fresh install (macOS / Linux):
curl -fsSL https://byterover.dev/install.sh | shExisting users: re-run the installer above to upgrade in place, then run brv restart to reload the daemon.
✅ No Breaking Changes
All changes are backward compatible. Existing context trees, provider configs, and connected agents continue to work with no migration. The billing team picker defaults to the org default until you pin one, so users who never had multiple teams will see no behavior change.
🙏 Contributors
Thanks to @ncnthien, @cuongdo-byterover, and @RyanNg1403 for shipping this release.
Full Changelog: v3.12.0...v3.13.0
ByteRover CLI 3.12.0
ByteRover CLI 3.12.0 turns the Tasks page in brv webui into a per-project history. Every curate, query, and review you run is now saved across daemon restarts, with filters, pagination, bulk delete, and provider/model attribution. The release also fixes a sync regression that caused brv push to ship dangling related: references, and tidies up frontmatter so synthesized files render properly in the dashboard.
What's Changed
✨ Added
- Tasks history in
brv webui. Past curate, query, and review tasks now persist per project across daemon restarts (up to 1000 entries), with filters (status, date range, duration), pagination, per-task event log, bulk delete, clear-completed, and provider/model attribution on each row. By @bao-byterover and @ncnthien in #622
🚀 Changed
- Synthesized files get full semantic frontmatter.
brv dream synthesizenow writes title, summary, tags, related, keywords, createdAt, and updatedAt alongside its existing synthesis fields, so dashboard context cards no longer render with empty preview slots. Existing synthesized files keep their old shape until regenerated. By @RyanNg1403 in #621 - Consistent flow-style YAML in dream writes.
brv dream's synthesize and consolidate steps now emittags: [a, b, c]arrays likebrv curate, sobrv vcdiffs stop reflowing brackets on every consolidate pass. By @RyanNg1403 in #621
🐛 Fixed
brv pushno longer ships danglingrelated:links.*.abstract.mdand*.overview.mdentries are excluded from sync, butbrv dream's cross-reference step andbrv curateused to leave them inrelated:, so pushed parents landed on the remote with broken sibling references. Both write paths now filter excluded entries before write, andbrv curate's update path also cleans pre-existing stale entries when it touches a doc. By @cuongdo-byterover in #618- Security dependency refresh. Refreshed
package-lock.jsonto clear severalnpm auditadvisories. By @bao-byterover in #623
🚀 Upgrade & Install
Fresh install (macOS / Linux):
curl -fsSL https://byterover.dev/install.sh | shExisting users: re-run the installer above to upgrade in place, then run brv restart to reload the daemon.
✅ No Breaking Changes
All changes are backward compatible. Existing context trees, provider configs, and connected agents continue to work with no migration. New semantic frontmatter applies forward only: older synthesized files keep their previous shape until they are regenerated.
🙏 Contributors
Thanks to @bao-byterover, @RyanNg1403, @ncnthien, and @cuongdo-byterover for shipping this release.
Full Changelog: v3.11.0...v3.12.0
ByteRover CLI 3.11.0
v3.11.0 adds two new ways to power your agent: DeepSeek (chat and reasoner models) and Z.AI's GLM Coding Plan subscription. It also unblocks Claude Opus 4.7, which started rejecting some calls from earlier brv versions, and tightens up a few rough edges in the provider picker and web UI.
What's Changed
✨ Added
- Two new LLM providers: DeepSeek and GLM Coding Plan. Pick DeepSeek (
deepseek-chat,deepseek-reasoner) or Z.AI's GLM Coding Plan subscription tier inbrv providers connector the web provider picker. The existingglmprovider stays for pay-per-token users, so subscription and pay-as-you-go tiers no longer collide. By @ngduyanhece in #604 - Recall metadata in
brv query --format json. The JSON envelope now includesmatchedDocs,tier,durationMs, andtopScore, so scripts and IDE bridges can show evidence of what an answer was drawn from. By @danhdoan and @RyanNg1403 in #610
🐛 Fixed
- Reasoning streams correctly for DeepSeek-R1 and Reasoner. Thinking output now shows up live and is carried back into follow-up turns. Previously the second turn of any multi-step query failed with a
reasoning_content must be passed backerror from DeepSeek. By @ngduyanhece in #604 - Claude Opus 4.7 no longer fails with a 400 error. Opus 4.7 rejects
temperature,top_p, andtop_k; the CLI now drops those before sending to Anthropic and OpenRouter (and warns once). Opus 4.6 and other Claude models are unchanged. By @cuongdo-byterover in #612 - Signing in to the GLM Coding Plan no longer rejects valid keys. API-key validation now tries each known model in turn instead of giving up after the first model-not-found, so a real key is no longer reported as invalid. The "Get your API key" link in both the TUI and the web UI also points straight to the key page. By @ngduyanhece in #604
- OpenClaude icon shows up in
brv webui. The LocalWebUI agent grid used to render OpenClaude as a missing icon; it now uses a monochrome SVG that matches the other connectors. By @cuongdo-byterover in #613 - Security dependency refresh. Refreshed
package-lock.jsonto clear severalnpm auditadvisories. By @bao-byterover in #614
🚀 Upgrade & Install
Fresh install (macOS / Linux):
curl -fsSL https://byterover.dev/install.sh | shExisting users: re-run the installer above to upgrade in place, then run brv restart to reload the daemon.
✅ No Breaking Changes
All changes are backward compatible. Existing context trees, provider configs, and connected agents continue to work without any migration.
🙏 Contributors
Thanks to @ngduyanhece, @danhdoan, @RyanNg1403, @cuongdo-byterover, and @bao-byterover for shipping this release.
Full Changelog: v3.10.3...v3.11.0
ByteRover CLI 3.10.3
This release makes daemon-version mismatches visible. After you upgrade brv, the background daemon can keep running on the older version with no obvious way to tell. The REPL header and MCP tool replies now flag the drift so you know to run brv restart.
What's Changed
🐛 Fixed
- No more silent daemon-version mismatches. After upgrading
brv, the background daemon could keep running on the older version and you'd have no way to tell, leading to confusing "why doesn't this new feature work?" moments. The REPL header now shows[outdated, daemon vX.Y.Z]next to the version when this happens, and replies from the MCP tools (brv-query,brv-curate) include a short note when the daemon and CLI are mismatched. Runbrv restartto align, or restart your IDE for the MCP side. By @bao-byterover in #592
🚀 Upgrade & Install
Fresh install (macOS / Linux):
curl -fsSL https://byterover.dev/install.sh | shExisting users: re-run the installer above to upgrade in place, then run brv restart to reload the daemon.
✅ No Breaking Changes
All changes are backward compatible. Existing context trees, provider configs, and connected agents continue to work without any migration.
🙏 Contributors
Thanks to @bao-byterover for shipping this release.
Full Changelog: v3.10.2...v3.10.3
ByteRover CLI 3.10.2
This release makes brv curate noticeably faster and cheaper, and clears up two ByteRover sign-in rough edges: connecting now activates the provider right away, and slow networks no longer get falsely flagged as signed out.
What's Changed
🔄 Changed
brv curateis faster and cheaper. Curate now batches its smaller LLM calls together and reuses the unchanging parts of the prompt across calls. Anthropic users save 21-30% on token cost, OpenAI users around 8%, and big-folder curates finish noticeably sooner. By @danhdoan in #601- Clearer sign-in error for ByteRover. When you try to use ByteRover without being signed in, the error now lists every option:
brv loginfor interactive shells, plus a signup URL, an API-key URL, andbrv login --api-keyfor headless or CI environments. By @bao-byterover in #595
🐛 Fixed
- ByteRover provider activates on connect. Picking ByteRover used to leave it "connected but inactive", so
brv curatewould still say "no provider connected". Activation now happens right away. By @RyanNg1403 in #596 - No more spurious "signed out" on slow networks. The startup auth check timed out after 500 ms, well below a real round-trip on home Wi-Fi, mobile, or VPN. Timeout is now 4 seconds with a single retry, so transient blips no longer look like a logout. By @RyanNg1403 in #596
🚀 Upgrade & Install
Fresh install (macOS / Linux):
curl -fsSL https://byterover.dev/install.sh | shExisting users: re-run the installer above to upgrade in place, then run brv restart to reload the daemon.
✅ No Breaking Changes
All changes are backward compatible. Existing context trees, provider configs, and connected agents continue to work without any migration.
🙏 Contributors
Thanks to @bao-byterover, @danhdoan, and @RyanNg1403 for shipping this release.
Full Changelog: v3.10.1...v3.10.2