Appearance
Installation & Updates
Setup, upgrades, and version management
How do I install ByteRover CLI?
Recommended — native binary (no Node.js required):
```bash
curl -fsSL https://byterover.dev/install.sh | sh
```
This installs a self-contained binary to `~/.brv-cli/bin/brv` and updates your shell config (`.bashrc`, `.zshrc`, `.profile`, or fish) automatically.
Supported platforms: **macOS ARM64**, **macOS x64 (Intel)**, **Linux x64**, **Linux ARM64**.
**Alternative — npm:**
```bash
npm install -g byterover-cli
```
Requires Node.js >= 20.
**Verify your installation:**
```bash
brv --version
```
How do I uninstall ByteRover CLI?
If installed via curl:
```bash
curl -fsSL https://byterover.dev/uninstall.sh | sh
```
Add `--yes` or `-y` to skip the confirmation prompt.
This removes the installation directory (`~/.brv-cli/`), shell PATH entries, global config, logs, and stored credentials.
**If installed via npm:**
```bash
npm uninstall -g byterover-cli
```
NOTE
Project-level .brv/ directories (your local context trees) are not removed by either uninstall method. Delete them manually if needed.
How does the automatic update notifier work?
NOTE
The automatic update notifier applies to the npm installation method. If you installed via the curl script, the CLI automatically updates in the background.
When a new version of ByteRover CLI is available, you'll see a prompt before your command runs:
```
? Update available: 1.2.0 → 1.2.1. Would you like to update now? (Y/n)
```
* Press **Enter** or type **y** to update immediately
* Type **n** to skip and continue with your command
NOTE
If you accept the update, your original command will not run. You'll need to run it again after the update completes.
What if the automatic update fails?
If the automatic update encounters an error, you'll see:
```
Updating byterover-cli...
<npm error output>
⚠️ Automatic update failed. Please run manually: npm update -g byterover-cli
```
Your original command will still proceed. To update manually:
**npm install:**
```bash
npm update -g byterover-cli
```
**curl install:**
```bash
brv update
```
NOTE
brv update only works for curl/native binary installations. If you installed via npm, running brv update will show an error directing you to use npm update -g byterover-cli instead.
What does "brv restart" do?
brv restart stops all ByteRover processes (clients, daemon, agents, background servers). Use it when:
* ByteRover is unresponsive or stuck
* You've just installed an update
* The TUI is behaving unexpectedly
* The REPL header shows `[outdated, daemon vX.Y.Z]`, or MCP tool responses end with a daemon-version drift footer
```bash
brv restart
```
The daemon will restart automatically on the next `brv` command. No flags or arguments are needed.
Why does the REPL show "[outdated, daemon vX.Y.Z]" after an update?
After upgrading brv, the background daemon keeps running on the version that started it. The REPL header tags this with [outdated, daemon vX.Y.Z], and MCP tool responses (brv-query, brv-curate) include a matching drift footer when the daemon and CLI versions differ. New features in the upgraded CLI will not take effect until the daemon is restarted.
**Fix:** run `brv restart` to restart the daemon, then restart your coding agent's host IDE so it re-spawns the MCP server against the new build.
How do I use ByteRover CLI behind a corporate proxy?
From v2.4.0, ByteRover CLI automatically routes internal service traffic (cloud sync, hub, authentication) through corporate proxies. Set HTTPS_PROXY and HTTP_PROXY environment variables before running any brv command. If your network uses SSL inspection, also set NODE_EXTRA_CA_CERTS to your corporate CA certificate path. Note that traffic to external LLM providers is not proxied.
```bash
export HTTPS_PROXY=http://proxy.corp.com:8080
export HTTP_PROXY=http://proxy.corp.com:8080
export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem
```
For detailed setup and troubleshooting, see [Troubleshooting — Proxy Configuration](/faqs/troubleshooting#how-do-i-configure-byterover-cli-to-work-behind-a-corporate-proxy).