All notable user-facing changes to ByteRover CLI will be documented in this file.
- Stay signed in across restarts. A valid login could be misread at startup, dropping you into the provider picker and asking you to run
brv loginagain on every launch. The CLI now reads your auth state correctly, so a signed-in session stays signed in.
- Cancel a running task with
--cancel <id>.brv curate,brv query, andbrv dreamnow accept--cancel <taskId>to stop a task started from another terminal or from a detached background run. In the foreground, Ctrl+C sends the cancel before exiting (a second press hard-exits with code 130). In the REPL, Ctrl+Q cancels the active curate or query task, and a footer hint shows when it's armed.brv webuialso adds a Cancel button on task list rows and the task detail header. - Opt out of update checks with
update.checkForUpdates. New setting (boolean, defaulttrue). Runningbrv settings set update.checkForUpdates falsesilences the y/n update prompt at startup and stops the background auto-update from running. Manualbrv updatestill works when you want to upgrade on your own schedule.
- Custom models accepted on more OpenAI-compatible providers. Connecting DeepSeek, GLM, Moonshot, Cerebras, Cohere, DeepInfra, Together AI, MiniMax, Perplexity, or another OpenAI-compatible endpoint with a non-default
--modelno longer fails with a "Model X is not supported for provider 'gemini'" error. The registry now routes all OpenAI-compatible providers through the right model whitelist, so any model your endpoint exposes is accepted. - Security dependency update. Patched npm dependencies to clear several
npm auditadvisories.
- 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. 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.
- Tune BRV with
brv settings. Adjust 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 30mor raw ms). Every subcommand also accepts--format json. Values persist at<BRV_DATA_DIR>/settings.jsonand can be browsed from the Configuration page inbrv webui. Runbrv restartafter a change. - 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.
- 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. --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.
- 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.
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."- 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.
- ByteRover credits in the header and billing team picker. The REPL and web header now show your remaining ByteRover credits, and when you connect a provider you can pick which billing team to charge per project. Your choice is remembered until you change it. Configurable via
BRV_BILLING_BASE_URL. - 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.
- 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. - 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. Daily Knowledge Mining cron and the onboarding plugin scaffold were removed.
- 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 listreads the footer marker inside the BRV section so only the installed agent's rules connector is shown. - 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.
- 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, duration), pagination, per-task event log, bulk delete, and provider/model attribution.
- Synthesized files get full semantic frontmatter.
brv dream synthesizenow writes title, summary, tags, related, keywords, createdAt, updatedAt alongside its synthesis fields, so dashboard context cards no longer render empty. - 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 each consolidate pass.
brv pushno longer ships danglingrelated:links.*.abstract.mdand*.overview.mdentries (excluded from sync) are now stripped fromrelated:on write;brv curateupdates also clean pre-existing stale entries.- Security dependency update. Refreshed
package-lock.jsonto clear severalnpm auditadvisories.
- DeepSeek and GLM Coding Plan as LLM providers. 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 don't collide. - 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 the answer was drawn from.
- Reasoning shows up for DeepSeek-R1 and Reasoner. Thinking output now streams correctly 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 back" error from DeepSeek.
- 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. - GLM Coding Plan API-key validation works on the coding-plan tier. Validation now tries each known model in turn instead of giving up after the first model-not-found, so a valid key is no longer reported as invalid. The "Get your API key" link also points straight to the key page in both the TUI and the web UI.
- OpenClaude icon shows 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. - Security dependency update. Refreshed
package-lock.jsonto clear severalnpm auditadvisories.
- 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.
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.- 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.
- 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. - 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.
brv review --disable/--enableper project. Opt a project out of the human-in-the-loop review prompts and backups, or turn them back on. Runbrv reviewwith no flags to see the current state. Existingbrv review pending / approve / rejectare unchanged.
brv curatereturns to your prompt right away. The final summary-rebuild step now runs in the background instead of making you wait. Nothing is skipped, just moved off your wait time (about 18 seconds saved on a typical run).
- Clearer
brv vc statusandbrv vc pullerrors. Status now catches a few staged-then-edited file states it used to hide. When a pull, checkout, or merge would overwrite local changes, the error now lists the affected files instead of just saying "local changes would be overwritten." - OpenAI-compatible providers fail loudly when the URL is wrong. First-time setup for Ollama, LM Studio, and similar providers now checks the base URL up front and shows the error inline. Bad URLs no longer pre-select a placeholder
llama3model or hang the REPL on disconnect / reconnect.
- Connect OpenClaude as an agent. Run
brv connectors install "OpenClaude"or pick it in/connectors.
- Prettier
brv loginconfirmation page. The browser tab after sign-in now matches the brv dark theme, with a styled error page if sign-in fails. - Faster, more reliable first-run startup. The first
brvcommand after install or restart connects more consistently, and no longer hangs when the sign-in provider is slow.
brv restartworks inside nested shell wrappers. Used to leave the daemon stuck whenbrvwas launched through several wrapper scripts (a shell alias, an npm script, or a CI runner). Fixed on macOS, Linux, and Windows.brv curatecounts as one operation, not many. Curating many folders at once was being billed once per folder, which could push fresh free-tier accounts past their limit in a single run. Grouped correctly now.- Security update. Patched
postcssand several other dependencies to address a high-severity advisory.
brv vc diffshows what changed in your context tree. See staged and unstaged changes against HEAD, or compare branches and commits. Also available as/vc-diffin the REPL and with--format json.brv vc remote removedeletes a git remote. Available from the CLI and from a new Delete button (with confirmation) in the web UI Remotes panel.- Configuration page in
brv webui. Manage your context-tree git identity (user.name, user.email) and theoriginremote from the browser. One click seeds your identity from your signed-in ByteRover account; a status dot is amber when identity is unset and green once it is. Provider and remote error toasts deep-link back to the relevant section.
- First-run tour teaches by clicking through. Instead of auto-opening the composer, the tour highlights the Tasks tab and "New task" button with a glowing arrow and dims the rest of the page. Failed tasks during the tour now offer a "Try again" action that prefills the composer.
- ByteRover pinned at the top of the provider picker. In
brv webui, ByteRover sits first with a "Native" badge and opens the sign-in popup directly, with no extra confirmation step.
- Google default model updated to
gemini-3-flash-preview(wasgemini-3.1-flash-lite-preview). brv dreamno longer pollutesbrv vcdiffs. Synthesis used to reorder context-file frontmatter fields (title,summary,tags,keywords,related,createdAt,updatedAt); field order is now preserved.
brv loginopens your browser by default — Just runbrv loginand sign in in your browser. On CI or a remote shell, use--api-key <key>instead (get one at https://app.byterover.dev/settings/keys). SSH and non-interactive shells are detected automatically and skip the browser step.- Provider picker shows what each provider is —
brv providers listand the web provider picker now show a short description under each name, so you can pick by what a provider does instead of guessing from the brand.
- No more "Logged in as undefined" —
brv loginnow says "Logged in successfully" when the server doesn't return your email. brv webuiworks when installed under a hidden folder — Reloading a page like/contextsno longer 404s whenbrvlives under a dotfile path such as~/.nvm/...or~/.asdf/....
- Web UI styles missing in the published-package build —
brv webuifrom the installed CLI used to render shared components (dialogs, sheets) unstyled because the Tailwind@sourceglob didn't match the installed layout of@campfirein/byterover-packages.
brv webui— a browser dashboard for ByteRover — Runbrv webuito open a local dashboard athttp://localhost:7700. Browse and edit your context tree, review and commit changes, run curate and query, manage LLM providers and connected agents, and switch between projects — all from the browser. Still loads when the daemon isn't running, with a clear recovery screen. Use--port <n>to pick a different port (remembered across runs).- Guided first-run tour — The web UI walks new users through setting up a provider, running their first curate and query, and connecting an agent. "Restart the tour" lives in the Help menu if you skip it.
- Connected agents now wait for
brv curateby default — The agent skill installed bybrv connectors installtells Claude Code, Cursor, Codex, Copilot, and other connected agents to letbrv curatefinish before moving on, so follow-up queries see the new data. Agents only fire-and-forget (--detach) when you explicitly say so. Re-runbrv connectors install <agent>to update. - Updated default models — OpenAI via OAuth now defaults to
gpt-5.4-mini; MiniMax now defaults toMiniMax-M2.7. - Complete frontmatter on context files — Context-tree markdown files written by
brv curateandbrv dreamnow always include all seven semantic fields (title, summary, tags, related, keywords, createdAt, updatedAt). Older files without them still load fine.
- ByteRover OAuth login now resumes provider setup — Picking ByteRover while signed out used to bounce you back to the provider list after login; it now continues the setup automatically.
- No more "Connecting to ByteRover…" hang after a fresh login — Provider connect sees new credentials immediately instead of waiting up to 5 seconds for a cache refresh.
- Security dependency update — Patched
@hono/node-serverandhonoto address a high-severity npm advisory.
- Agent skill template — dedicated "Query and Curate History" section — The bundled
SKILL.mdinstalled viabrv connectors install(for Claude Code, Cursor, Codex, Copilot, and other skill-based agents) now has a dedicated Section 11 coveringbrv curate view,brv query-log view, andbrv query-log summary— including the resolution-tier taxonomy (0=exact cache … 4=full agentic) and time/status filters. Connected agents will now reach for history and recall metrics when debugging knowledge gaps instead of guessing. Re-runbrv connectors install <agent>to regenerate the skill for an existing connector.
brv vc statusstays clean after queries and curates — Runtime ranking signals (hotness, recency, access counts, maturity) used to live in markdown frontmatter, so everybrv search,brv query, or agent curate silently dirtied context files and pollutedbrv vc status/brv vc diff. Those signals now live in a per-project sidecar outside the context tree; markdown keeps only semantic fields (title, tags, keywords, summary, related, createdAt, updatedAt). Older context trees with legacy signal fields in frontmatter continue to parse — stale fields are ignored on read, so no migration is needed.- Synthesis files no longer leak
maturity: draftinto frontmatter —brv dream synthesizepreviously wrotematurity: draftinto the YAML frontmatter of each new synthesis file; that field now seeds the sidecar instead, leaving the synthesis markdown body and frontmatter free of ranking state. brv vcdiffs no longer show OS / editor noise — Added the following patterns to the context-tree.gitignoreso they're excluded frombrv vctracking:.DS_Store,._*(macOS);Thumbs.db,ehthumbs.db,Desktop.ini(Windows);.directory,.fuse_hidden*,.nfs*(Linux); and editor swap/backup/temp patterns*.swp,*.swo,*~,.#*,*.bak,*.tmp. Patterns auto-sync into existing projects on the nextbrv vccommand — no manual.gitignoreedit required.
- Intel Mac (darwin-x64) install support —
curl -fsSL https://byterover.dev/install.sh | shnow installs on Intel Macs. Previously the installer rejecteddarwin-x64with an Apple-Silicon-only error. CI also publishes adarwin-x64tarball alongside the existingdarwin-arm64,linux-x64, andlinux-arm64builds.
- Security dependency update — Updated
basic-ftpandhonoto patch a high-severity npm advisory.
brv dream— tidy up your context tree — A new command that cleans up your memory in the background: merges related notes, writes short summaries that connect ideas across topics, and archives stale entries. It runs on its own when the CLI has been idle for a while, or you can run it yourself. Changes the model is unsure about are held for you to review withbrv review pending, andbrv dream --undoreverts the last run. Flags:--force/-fto skip the time and activity gates,--detachto queue and exit without waiting,--undo,--timeout <seconds>,--format json.brv query-log— see what you've asked before — Everybrv queryis now saved locally so you can look back at past questions and how they were answered.brv query-log viewlists recent queries with filters--status,--tier,--since,--before, and--limit, plus--detailto also show the matched docs for each entry, and--format json.brv query-log summaryshows aggregated metrics — coverage, cache hit rate, and top topics — over a window set by--last,--since, or--before, with--formatoptionstext,json, ornarrativefor a plain-English recap.
- Clearer MCP tool descriptions — The
cwdparameter onbrv-curateandbrv-queryMCP tools now tells the calling LLM exactly when the project path is required (Claude Desktop, hosted MCP) vs. optional (Cursor, Cline, Zed, Claude Code). This reduces failed tool calls from clients that omitted the path or guessed a relative one.
- Claude Desktop support — Connect ByteRover to the Claude Desktop app with
brv connectors install "Claude Desktop"(or pick it in/connectors). Works on macOS, Windows (including Store installs), and Linux. After installing, fully quit Claude Desktop from the tray or menu bar and reopen it to apply.
- Cleaner install layout — The
install.shinstaller now keeps its bundled Node.js tucked away so it won't conflict with thenodealready on your system. Just reinstall to pick up the new layout.
- Security dependency update — Updated
basic-ftpto patch a high-severity vulnerability.
brv swarm— unified memory swarm — Connect multiple memory providers (ByteRover context tree, Obsidian vaults, local markdown folders, GBrain, OpenClaw Memory Wiki) into a single query and storage layer.brv swarm onboardwalks through an interactive setup wizard;brv swarm statusshows provider health, write targets, and enrichment topology.brv swarm query <question>runs intelligent routing, parallel provider execution, and Reciprocal Rank Fusion merging — add--explainfor classification reasoning and provider selection details.brv swarm curate <content>stores to the best writable provider based on content classification (--providerto override), falling back to ByteRover context-tree curation when no external target is available. Control how providers feed context to each other viaenrichment.edgesinswarm.config.yaml— the engine validates cycles, self-edges, and missing providers, and disabled-provider edges produce warnings instead of errors so partial setups degrade gracefully. The agent also gainsswarm_queryandswarm_storetools, and sandboxed code can calltools.swarmQuery()/tools.swarmStore().- GPT-5.4 Mini support — Added
gpt-5.4-minito the Codex allowed models list.
- Context-tree
.gitignoreauto-sync — The context-tree.gitignorenow stays up to date automatically. When anybrv vccommand runs, missing patterns are appended to the existing file instead of only being written on first init. This prevents derived artifacts from pollutingbrv vcdiffs after CLI updates. - Stale knowledge locations — Knowledge entries whose source files were deleted are now cleaned up, preventing dead references in search and query results.
- Security dependency update — Pinned axios to 1.15.0 to address a critical vulnerability.
brv search— BM25 context tree search — New command for pure BM25 retrieval over the context tree (no LLM, no provider, no token cost). Returns ranked paths, scores, and excerpts. Flags:--limit(1–50),--scope <prefix>,--format json. Usebrv searchfor structured results andbrv queryfor synthesized answers.--timeoutflag forbrv curateandbrv query— Override the previous hardcoded 5-minute limit so slow local models can finish. Accepts seconds (default 300, max 3600); no effect with--detach.
- Misleading "no space configured" error on
brv push/brv pull— Legacy sync now shows a clear deprecation message pointing atbrv vc initinstead of the deprecatedbrv space switchflow. TUI also links to the version control docs. brv statusauto-created.snapshot.jsonwithout team/space config — VC-managed projects no longer get a stray legacy-sync snapshot file; status now reportsManaged by Byterover version controlinstead.- Adaptive
*.abstract.md/*.overview.mdfiles pollutingbrv vcdiffs — These derived artifacts are now in the context-tree.gitignoreand excluded from version control.
brv worktree— git-style worktree links — Register a subdirectory (or sibling) as a worktree of a parent project without creating a nested.brv/.brv worktree add [path]writes a.brvpointer file in the target that redirects to the parent — the same pattern asgit worktree(path defaults to the current directory for auto-detect from a subdirectory).brv worktree listshows the current link state and registered worktrees;brv worktree remove [path]unregisters (also defaults to cwd).--forceletsaddconvert an existing.brv/directory into a pointer by backing it up to.brv-backup/;removerestores that backup automatically if present. Also available as/worktreein the REPL.brv source— cross-project knowledge sources — Link another project's context tree as a read-only knowledge source.brv source add <path> [--alias <name>]attaches a source;brv source listshows linked sources with validity;brv source remove <alias-or-path>detaches. Linked sources are write-protected, and query results pulled from them are tagged with asharedorigin and their alias so you can tell which project an answer came from. Also available as/sourcein the REPL.- Resolver-aware
brv status—brv statusnow surfaces the resolved project root, the linked worktree root (when different), knowledge-source validity, and actionable warnings for broken or malformed worktree pointers and sources.--verboseadds the resolution source (direct/linked/flag). A new--project-root <path>flag onbrv statusoverrides auto-detection and fails loudly when the path is not a ByteRover project instead of silently falling back to the current directory.
- Workspace-aware curate and query —
brv curateandbrv querynow automatically detect when you're inside a linked worktree and pass the worktree root to the daemon alongside the project root. Explicit relative paths you pass yourself (e.g.brv curate -f ./src/auth.ts,brv curate -d ./packages/api/src) still resolve from your shell cwd to match normal shell behavior.
- Adaptive knowledge scoring — The knowledge base now prioritizes content based on usage patterns. Frequently accessed knowledge ranks higher in search results through hotness scoring and hierarchical score propagation.
- Knowledge abstracts — Knowledge entries automatically generate compressed summaries (abstracts and overviews), reducing token usage while preserving key information for the agent.
- Session learning — The agent extracts patterns, preferences, decisions, and skills from your sessions and stores them as durable knowledge, improving responses over time.
- Resource ingestion tool — The agent can now ingest external files and resources directly into your knowledge base.
- Stale CLI cache after upgrades — Install and uninstall scripts now clean the oclif client cache, preventing issues caused by cached data from previous versions.
- Knowledge search accuracy — Fixed double compound scoring in parent propagation, improved maturity filtering, and corrected result truncation for more relevant search results.
brv vc— Git version control commands — A full suite of Git-like commands (init,clone,status,commit,push,pull,branch,checkout,merge,reset,remote,log,fetch) that sync context alongside code through ByteRover's remote.- Human-in-the-loop review system — Review pending curate operations before they are applied. Use
brv review pendingto list,brv review approveto accept, andbrv review rejectto discard.
- Legacy commands show
brv vchints — Runningbrv status,brv pull, orbrv pushnow displays a tip about the correspondingbrv vccommand. - Name-based remote URLs — Remote URLs now use human-readable names.
- Team and space persisted on remote add —
brv vc remote addandbrv vc remote set-urlnow persist team and space identifiers toconfig.json. - (Deprecated)
brv space listandbrv space switch— These commands still work but show a deprecation notice directing users to the web dashboard.
- Provider error messages — CLI text-mode commands now show the actual backend error message instead of a misleading "API key is missing or invalid" fallback.
- Security dependency updates — Patched
hono,@hono/node-server,@xmldom/xmldom,lodash, andlodash-esto address known vulnerabilities.
- Refactor and major code cleanup.
- Pinned axios to exact version 1.14.0 — Locked the axios dependency to an exact known-good version to mitigate supply-chain security risks. Previously used a caret range (
^1.12.2) that could pull in untrusted future releases.
- Provider connect/switch showed false success on auth errors —
brv providers connectandbrv providers switchnow correctly detect when the server rejects the request and display the actual error message (e.g., authentication required) instead of falsely reporting success.
- Inline login for ByteRover provider — When selecting or activating ByteRover without being logged in, the CLI now shows an inline login prompt instead of failing. Users authenticate through the browser without leaving the provider setup flow. Tasks also validate authentication before execution and show a clear message if login is needed.
- Proxy double-routing on corporate networks — Fixed an issue where HTTP requests could be routed through a proxy twice when
HTTPS_PROXYwas set, causing connection failures. Axios's built-in proxy is now explicitly disabled in favor of the customproxy-agentalready in use. - Security dependency updates — Patched npm dependencies to address high-severity vulnerabilities.
- Agent startup reliability improved — Increased the timeout for agent child processes to become ready from 15 to 30 seconds, reducing timeout failures on slower machines or under heavy load.
- Console window flash on Windows — Agent child processes no longer briefly flash a console window when spawned on Windows.
- Security dependency updates — Patched npm dependencies to address high-severity vulnerabilities.
- Enterprise proxy support — All HTTP traffic now automatically routes through corporate proxies when standard environment variables are set (
HTTPS_PROXY,HTTP_PROXY,NO_PROXY). For environments with SSL inspection, setNODE_EXTRA_CA_CERTSto your corporate CA certificate. The CLI provides clear error messages when proxy or certificate issues are detected.
- ByteRover provider request format simplified — Reduced unnecessary fields sent to the server for cleaner request handling.
- Streaming errors from OAuth providers showed
[object Object]— Error messages from LLM provider streaming failures (e.g. OpenAI via OAuth) now display the actual error detail instead of an unhelpful[object Object]string.
better-sqlite3dependency — Removed the unused native SQLite package that was left over after the migration to file-based storage in 2.1.0. This reduces install size and eliminates native compilation requirements on some platforms.
- OpenRouter provider name format — OpenRouter models now display as
OpenRouter (<provider>)instead of a capitalized provider name, making it easier to identify when using an OpenRouter-routed model. brv updateblocked for npm installations — Runningbrv updatewhen installed via npm now shows a clear error directing users to runnpm update -g byterover-cliinstead. Previously produced confusing errors.brv restartno longer kills itself or triggers daemon respawn — Rewrote restart with a 4-phase shutdown sequence (kill clients, graceful daemon stop, clean orphans, clean state files).- Security dependency updates — Patched
socket.ioand@campfirein/brv-transport-clientto address high-severity vulnerabilities.
- OAuth provider authentication — Connect to LLM providers by signing in via your browser instead of manually entering API keys. OpenAI is the first supported OAuth provider. Run
/providersin the REPL orbrv providers connect openai --oauthfrom the command line to authenticate through the browser. Tokens are securely stored and automatically refreshed by the daemon.
- Provider list shows authentication method —
brv providers listnow displays[OAuth]or[API Key]badges next to connected providers indicating how they were authenticated. - Reconnect option for OAuth providers — Already-connected OAuth providers show a "Reconnect OAuth" option in
/providersto re-authenticate or switch accounts.
brv locationscommand — List all registered projects and their context tree status. Shows which projects are initialized, which is current, and which have active connections. Supports--format jsonfor automation. Also available as/locationsin the REPL.
brv logoutcommand — Disconnect from ByteRover cloud and clear stored credentials from the CLI. Supports--format jsonfor headless/automation use cases.
- Security dependency updates — Patched
flatted,hono, andyauzlto address security vulnerabilities.
- Local Ollama and OpenAI-compatible providers work without an API key — Providers that do not require an API key (e.g. local Ollama) no longer trigger a "provider key missing" error. Only providers that actually require a key are flagged when one is absent.
brv restartkilling itself and hanging terminal — Fixed an issue wherebrv restartcould kill its own parent shell wrapper process (used by native binary installations viainstall.sh), causing garbled terminal output and hangs. The restart command now also force-exits after completion to prevent stale oclif plugin handles from blocking the process.
- Default LLM model switched to Gemini 3.1 Flash Lite — The default model for the ByteRover provider is now
gemini-3.1-flash-lite-preview, replacinggemini-3-flash-preview, for improved performance and cost efficiency.
- Skip update notifier for non-npm installations - Update notifications are now suppressed when the CLI is not installed via
npm install -g, preventing irrelevant update prompts for tarball and native binary users. - Auto-update frequency for native installations - Configured oclif autoupdate with 1-day debounce for more reliable update checks on non-npm installations.
- Security dependency updates - Patched
fast-xml-parser,@aws-sdk/xml-builder, and@hono/node-serverto address security vulnerabilities.
- Agentic map system - A new LLM-powered context map organizes knowledge hierarchically and enables smarter retrieval. Includes escalated compression strategies that adapt when context grows large, keeping responses accurate even for very large codebases.
/exitcommand - Type/exitin the REPL to gracefully close the session (alternative to Ctrl+C).
- File-based storage - Internal storage migrated from SQLite to plain files. Eliminates the native SQLite dependency for a simpler, more portable installation.
- Google Vertex AI provider - The Vertex AI integration has been removed. Users relying on Google models should use Gemini via Gemini_API_key.
- Local-first mode - CLI works without cloud authentication. A
.brvdirectory is auto-created in the project root, and/curateand/querywork fully offline. - Native binary installer - Install on macOS and Linux without Node.js via
curl -fsSL https://byterover.dev/install.sh | sh. Uninstaller script also available. - Multi-provider LLM support - Connect to 20+ LLM providers via
/providers connect: Anthropic, OpenAI, Google, Groq, Mistral, Perplexity, Cerebras, xAI, Together AI, and more. - OpenAI-compatible provider - Use
--base-urlto connect custom endpoints such as Ollama, LM Studio, llama.cpp, vLLM, and LocalAI. - Google Vertex AI support - Service account credential support via
-fflag inbrv providers connect. - Hub registry - Browse, install, and manage skills and bundles from registries. Add custom registries with auth support via
brv hub registry add. - Knowledge scoring - Compound scoring system (BM25 + importance + recency) with maturity tiers (draft, validated, core). Frequently used knowledge rises; neglected knowledge decays.
- YAML frontmatter for context files - Context files now use structured YAML frontmatter (title, tags, related, keywords) instead of
## Relationssections. - New agent connectors - Added OpenClaw, OpenCode, and Auggie CLI integrations, bringing total supported agents to 22.
- Consolidated skill connector - Single
SKILL.mdfile for agent skill integration replaces multi-file approach. - Daemon architecture - A global background daemon enables fast CLI startup and shared connections. Use
brv restartto restart the daemon. - Parallel task execution - Concurrent curate and query operations (up to 5 tasks) via per-task child sessions.
- API key login - Authenticate with
brv login -k <key>for non-interactive or headless environments. - Knowledge attribution - Query responses include a footer showing which context tree sources contributed to the answer.
- Linux ARM64 support - Native binary builds now available for Linux aarch64.
- Context tree merge improvements - Backup and conflict directories created during sync. Auto-pull on space switch with local change preservation.
- Fact extraction - Automatic facts extraction from content during curation.
- (Breaking) Provider command renamed -
/provideris now/providersfor both the TUI slash command and the oclif command. - (Breaking) Model switch command renamed -
model setis nowmodel switch. - (Breaking) Default provider changed - The default LLM provider is now ByteRover instead of OpenRouter.
- (Breaking) Provider config cleared on upgrade - Existing provider configurations are cleared; re-setup is required after upgrading.
- Provider management restructured - Provider commands are now
brv providers list/connect/disconnect/switchsubcommands. - Model management restructured - Model commands are now
brv model list/switchsubcommands. - Context-window-aware token management - Compaction and truncation thresholds now adapt to the active model's context window size.
- Config structure simplified - Cloud fields (spaceId, teamId, etc.) are now optional, supporting local-first usage.
- Documentation moved - Detailed docs moved to docs.byterover.dev; README simplified.
- Agent pool race condition - Fixed concurrent agent session management causing intermittent failures.
- Cross-project context writes - Agent process working directory now correctly scoped to prevent writing context to wrong project.
- Hub list timeouts - Fixed first-run timeout when loading hub registry.
- Rate limit handling - Provider-aware retry delays prevent excessive retries on rate-limited requests.
- Input paste corruption - Replaced ink-text-input with direct input handling to fix paste-related text corruption.
- Stale data in TUI commands - Disabled React Query cache for TUI commands to ensure fresh data.
- (Breaking) Keychain/Keytar support - API key storage moved from system keychain to encrypted file-based storage. Re-entry of API keys required after upgrade.
- Legacy OpenRouter content generator - Replaced by the unified multi-provider AI SDK.
- Old TUI views - Removed init-view, login-view, main-view, and Tab bar in favor of page-based routing.
- Faster query responses - Three-tiered response system: fuzzy cache matching for repeated queries (~50ms), direct search for high-confidence matches (~100-200ms), and optimized LLM responses with prompt caching and smart routing.
- Out-of-domain detection - Multi-layer detection prevents confidently wrong answers for topics not covered in the context tree, with AND-first search matching and relevance guards.
- Diagram and visual content preservation - Structured diagrams (Mermaid, PlantUML, ASCII art) are preserved verbatim during curation instead of being summarized.
- Improved folder curation - New iterative extraction strategy for large directories avoids token limits. Default suggestion of
./added in slash completion for curating current directory. - System prompt improvements - Updated to be more general purpose and better respect source files instead of suggesting imports.
- NPM security vulnerability - Addressed high severity npm security issue.
- File validator for text files - Fixed rejection of known text file extensions (e.g., .md with UTF-16 encoding). Office documents (docx, xlsx, pptx) now pass validation.
- Markdown newline formatting - Fixed literal
\nstrings being rendered instead of actual newlines in generated markdown content.
- Sandbox TypeScript execution - Added
esbuildas a direct dependency to ensure TypeScript transpilation works reliably in the sandboxed code execution environment.
- Installation reliability - Bundled
brv-transport-clientdependency to prevent installation failures when the GitHub-hosted package is unreachable.
- Folder reference support - Use
@folder_pathsyntax in/curatecommand to include entire directories. Files are packed into a structured format for comprehensive context curation. Also available in MCPbrv-curatetool. - Escape key to cancel - Press Esc to cancel streaming responses and long-running commands with timestamped cancellation feedback.
- Improved onboarding flow - Streamlined first-time setup with server-side onboarding state, auto-selection of default team/space, and clearer "What's Next" guidance for connector setup.
- Query command alias - Use
/qas a shorthand for/querycommand. - Enhanced activity logs - Activity logs now display code descriptions and file references for better traceability.
- Faster update checks - Update notifier now checks every hour instead of every 24 hours for quicker access to new releases.
- Improved query performance - Query operations now use optimized programmatic search with sandboxed code execution for reduced latency.
- Simplified agent architecture - Removed subagent task delegation for more direct and responsive command execution.
- NPM security vulnerabilities - Addressed critical security issues identified in dependency audit.
- Orphaned connector migration - Fixed connector configuration migration when switching between connector types.
- TUI layout stability - Removed stray console output that could disrupt terminal UI rendering.
- Context relation paths - Relation paths in context.md files are now consistently normalized to lowercase with underscores.
- Headless mode for automation - New
--headlessflag enables non-interactive CLI execution for CI/CD pipelines and automation. Supported commands:init,status,curate,query,push,pull. - JSON output format - New
--format jsonflag outputs structured newline-delimited JSON (NDJSON) for machine-readable results. Includes action lifecycle events, logs, warnings, errors, and structured results with timestamps. - Enhanced
brv initflags - New--team,--space, and--forceflags for non-interactive project initialization. Team and space can be specified by name or ID. - File-based token storage for headless Linux - Automatic fallback to file-based token storage when system keychain is unavailable (SSH sessions, containers, missing D-Bus). Enables seamless operation on headless Linux servers.
- External LLM provider support - Connect to external providers like OpenRouter to access 200+ models. New
/provider(aliases:/providers,/connect) command to connect and switch providers, and/model(aliases:/models) command to browse and select models with pricing, context window, favorites, and recent usage tracking. API keys stored securely in system keychain. - Reasoning/thinking display - LLM reasoning and thinking content now appears in the execution progress view with an animated "Thinking..." indicator during streaming. Supports multiple model formats including Claude, OpenAI, Gemini, and DeepSeek.
- Improved execution progress - Custom status indicators (checkmark, blinking dot, X) for completed, running, and failed tool calls. Running items are prioritized to stay visible, and long tool commands are cleanly truncated.
- Model cost display - Accurate input/output pricing shown separately (e.g., "$3.00/$15.00/M") with model descriptions displayed inline for better scannability.
- OpenRouter streaming reliability - Fixed TUI getting stuck on results and duplicate thinking entries when using OpenRouter models. Tool execution now runs in parallel for faster completion.
- Directory listing path validation - Fixed failures caused by double-resolved paths.
- Task queue notifications - Queued tasks now receive proper error notifications when dropped during reinitialization, instead of timing out silently.
- Reasoning streaming states - Fixed thinking indicator incorrectly reappearing when text response starts streaming.
- NPM security vulnerabilities - Updated dependencies to address moderate severity vulnerability.
- Antigravity agent support - New coding agent integration using rules-based connector by default. Joins the 19 supported agents including Amp, Claude Code, Cursor, Windsurf, and others.
- Improved PDF text extraction - Increased default PDF page limit from 50 to 100 pages (max 200) with more efficient page-by-page processing for better handling of large documents.
- Optional prompt for file references - Made prompt optional when using
@file_pathreferences in/curatecommand and MCPbrv-curatetool. The system infers context from referenced files when no explicit prompt is provided.
- Streamlined space switching - Existing connector configuration is now preserved when switching spaces via
/space switch, removing the redundant agent selection prompt. - Removed Node.js version warning - Startup no longer displays Node.js version warnings. The Node.js >= 20.0.0 requirement remains enforced in package.json.
- Skill-based agent integration - New integration method providing discoverable, markdown-based guidance for AI coding agents. Skills install as three comprehensive files (SKILL.md, TROUBLESHOOTING.md, WORKFLOWS.md) in your agent's skill directory, offering quick reference, troubleshooting guides, and detailed workflows. Available for Claude Code, Cursor, Codex, and GitHub Copilot.
- Claude Code default connector - Changed from hook-based to skill-based integration for better discoverability and maintainability. Skills no longer modify IDE settings and provide more comprehensive guidance. Hook connector remains available for users who prefer it.
- Cursor default connector - Changed from MCP to skill-based integration for native skill support. Provides better integration through Cursor's skill system.
- Task execution reliability - Unified task queue with sequential processing (FIFO) prevents conflicts during concurrent curate and query operations. Tasks now execute predictably in order with improved cancellation and deduplication support.
- Authentication error handling - Improved error messages and recovery during OAuth token exchange and refresh flows
- Windsurf rule file formatting - Fixed YAML frontmatter ordering in generated rule files for correct parsing
- Simplified command reference - Generated rule files now include concise command list with
--helpguidance instead of detailed inline documentation
- Socket connection stability - Fixed duplicate event listeners accumulating after system wake-up, improving connection reliability
- Sub-agent task display - Fixed premature "Result:" message appearing during sub-agent task execution
- NPM security vulnerabilities - Updated dependencies to address security issues
- MCP server integration - Model Context Protocol server enabling ByteRover context queries and curation from Claude Code, Cursor, Windsurf, and other coding agents via
brv-queryandbrv-curatetools - Expandable message view - Press Ctrl+O to expand any message to full-screen view with vim-style navigation (j/k for scrolling, g/G to jump to top/bottom)
- Expandable log view - Full-screen log inspection with scrollable output and keyboard navigation
- Auto-create domain context files - Domains automatically get context.md files created at multiple levels (domain, topic, subtopic) for better knowledge organization
- Markdown rendering - Improved formatting support for agent output with proper rendering of headings, lists, blockquotes, and code blocks
- Connector setup flow -
/connectorscommand now provides clearer MCP configuration instructions for supported coding agents - Increased suggestion visibility - CLI suggestions list displays 7 items with improved scroll indicators
- Version display - Version number shows "(latest)" indicator when running the most current version
- MCP connection stability - Added auto-reconnect logic with exponential backoff and health checks to handle temporary socket disconnections
/newcommand session handling - Fixed/newcommand to properly update agent's internal session ID, preventing messages from routing to old sessions- Task isolation - Fixed taskId propagation in session events for proper concurrent task handling
/curateusage string - Aligned/curateusage description with actual flag behavior- Context overflow handling - Added token-based message compression for handling large conversation contexts
- IDE hook integration - Support for injecting ByteRover context directly into Claude Code via hooks
- PDF file reading - Read and analyze PDF files with proper validation and magic byte detection
- Knowledge search tool - New
search_knowledgetool for querying the context tree programmatically - System sleep/wake detection - Improved reliability when user's machines sleep and wake
- Increased curation concurrency - Curation tasks now run with concurrency of 3 (up from 1)
- Improved query search - Multi-perspective search strategy with few-shot examples and stop-word filtering
- Better curate responses - Curate agent now includes subtopic names in generated context
- REPL-first error messages - All error messages now reference REPL slash commands (e.g.,
/initinstead ofbrv init) - Updated documentation URL - Docs now point to production URL instead of beta
- Binary file detection - Replaced byte-level heuristics with UTF-8 aware detection; fixes false positives for files with emojis, CJK text, and box-drawing characters
- PDF validation - Reject fake PDFs (binary files with .pdf extension) using magic byte validation
- Process reconnection - Fixed race conditions in agent restart and improved transport reconnection with exponential backoff
- Topic naming - Fixed
_mdsuffix appearing in topic and sub-topic names during curation - Pull sync filtering - README.md at context-tree root is now filtered during pull to avoid syncing incorrect files
- NPM security vulnerabilities - Updated dependencies to address security issues
- Stateful sessions with auto-resume - sessions now persist and can be resumed after restart
/newcommand to start a fresh session (clears conversation history while preserving context tree)- Two-part context model for curation - contexts now include both raw concept and narrative sections
/clearcommand renamed to/resetto avoid confusion with Unixclearcommand- Upgraded default LLM to Gemini 3 Flash with thinking visualization support
- Improved curate prompt quality and handling of empty code snippets
- Knowledge relations now enforce consistent path format (
domain/topic/title.md)
- File extension preserved correctly in knowledge relation paths
- Relation parser now handles file extensions and pattern matching more reliably
- Question marks removed from confirmation prompts for cleaner UI
- File paths now resolve correctly relative to project root (not working directory)
- Concurrent curation no longer gets stuck in queue state
- Improved stability during concurrent task execution
- Task lifecycle status display in header showing active/completed tasks
- Initialization status indicator in header
- Dynamic domain creation for context tree - create new knowledge domains on the fly
- Step-based initialization UI with improved onboarding flow
- Actionable welcome prompt with quick-start suggestions
- Randomized example prompts in welcome screen
- WSL (Windows Subsystem for Linux) support with file-based token storage fallback
- Read-file tool pagination and line truncation for handling large files
- Switched internal LLM service from gRPC to HTTP for improved reliability
- Sequential execution for
brv curatecommands to prevent conflicts
- Security vulnerability in query string parsing
- Double
@prefix appearing in knowledge relations - File validation when running
brv curatefrom different directories - Auth token validation now properly handles network errors
- SQLite database connection cleanup
- Agent initialization reliability improvements
- Long-living agent with persistent task execution and restart support
- Responsive terminal UI with dynamic sizing and small-screen warnings
- Cross-platform path normalization for context tree
- Context tree structure injection into agent prompts
- Multimodal file reading support (images)
- Visual feedback when copying text
- Unified session logging across processes
- System sleep/wake detection for reliability
- Updated onboarding UI with new visual design
- Context files use title-based naming with snake_case
- Improved
/queryaccuracy with mtime sorting
/chatcommand removed (use/curateand/queryinstead)
/statuscommand now correctly detects changes- Agent restart during onboarding
- Path duplication in read_file tool
- Empty directory creation during curation
- Application resizing issues
- Tab characters breaking terminal UI
/statuscommand now correctly displays CLI version
- Minimum Node.js version requirement increased from 18 to 20
- Simplified welcome banner by removing verbose onboarding instructions
- Interactive REPL mode: Running
brvwith no arguments now starts an interactive terminal UI with a persistent session - Slash commands: All core functionality is now available via slash commands in REPL mode:
/login,/logout- Authentication/init- Project setup with team/space selection/status- Show auth, config, and context tree state/curate- Add context to context tree/push [--branch <name>],/pull [--branch <name>]- Cloud sync (default branch:main)/space list,/space switch- Space management/gen-rules- Generate agent-specific rule files/clear- Reset context tree/query- Query context tree
- File references in curate: Use
--filesflag to include file references in autonomous curation - Interactive onboarding: New guided onboarding flow for first-time users (press Esc to skip)
- Command renamed:
resetcommand is now/clearin REPL mode
- Improved UI responsiveness and layout
- Fixed terminal scrolling issues
- Fixed UI flickering during long-running operations
- Fixed tool error display showing 'undefined'
- Auto-update notification: CLI now checks for updates every 24 hours and offers to update automatically via
npm update -g byterover-cli - Legacy rule migration:
brv gen-rulesnow detects existing agent rules and creates backups before updating
- Fixed file write errors when parent directories don't exist
- Improved reliability of AI function calling
- Resolved security vulnerability
- Fixed race condition between update notification and welcome message display