Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.byterover.dev/llms.txt

Use this file to discover all available pages before exploring further.

ByteRover includes a built-in LLM with limited free usage (requires a logged-in ByteRover account). Connect your own provider to remove limits and choose any supported model — no ByteRover account needed. When the built-in provider is active, your remaining credits show in the REPL header as a Billing: line and in the web UI header as a <N> cr pill. If you belong to one or more paid teams, you can also pick which team to bill per project — see Pick a billing team.
Prefer a visual workflow? See Providers & Models in the web UI. In the web picker, ByteRover is pinned at the top with a Native badge — selecting it opens the sign-in popup directly, with no extra confirmation step.

Connect a provider

1

Open the provider selector

/providers
ByteRover lists all providers with a short description of each (what its models are known for) and status indicators — (Current) for the active provider, [Connected] for previously connected ones.
2

Select and connect

Select an unconnected provider. Providers that support OAuth (currently OpenAI) will present a choice — “Sign in with OAuth” to authenticate via your browser, or “API Key” to enter a key manually. Other providers prompt for an API key directly. ByteRover validates credentials before saving. After connecting, a model selector opens automatically.Provider selectorPicking ByteRover while signed in to one or more paid teams shows a billing-team picker as part of the connect flow. The team you choose is remembered for the current project; switching teams later is non-destructive. See Pick a billing team below.

Select a model

1

Open the model browser

/model
Models are grouped by provider, with pricing and context window size shown when available.Model browser
2

Select a model

Use arrow keys to browse and press Enter to select. You can also type to filter models by name or provider.
Model lists are cached for 1 hour. ByteRover refreshes automatically when the cache expires.

Switch providers

1

Open the provider selector

/providers
2

Select a connected provider

Select any provider marked [Connected]. ByteRover switches without re-entering your API key.

Pick a billing team

The built-in ByteRover provider charges credits against a billing team. Personal accounts on the free tier always bill to their personal allotment. If you are a member of one or more paid teams, you can choose per project which team’s credits get spent. When the picker appears
  • TUI / web UI: as a step in the ByteRover provider-connect flow, after sign-in, only if you have at least one paid team.
  • CLI: pass --team <name> to brv providers connect byterover. The flag accepts a team name or slug and is only supported for the byterover provider.
What the CLI confirms After a successful pin, the CLI logs:
ByteRover usage on this project will be billed to <team>.
Where credits show up
  • REPL header: Billing: <team> (<remaining> credits, <tier>) for paid teams, or Billing: Personal free credits (<remaining> / <total>) for the free tier.
  • Web UI: a <N> cr pill next to each team row in the picker and in the page header (e.g. 12.4k cr, 50k cr). One decimal of precision so 12.4k and 12.9k stay distinguishable.
Out of credits When the active team’s credits hit zero:
  • CLIbrv curate and brv query fail and a message that names every other paid team you could switch to. For free-tier accounts, the message tells you to upgrade to a paid team.
  • Web UI — the provider picker shows an “exhausted” alert with a Top up button. The button opens your team’s billing settings in a new tab. You can also pick another team or switch to a bring-your-own-key provider directly from the alert.

Disconnect a provider

Disconnecting removes the stored API key and reverts to ByteRover’s built-in LLM if the disconnected provider was active.
1

Open the provider selector

/providers
2

Select a connected provider

Select a connected provider to open the actions menu.
3

Select Disconnect

Choose Disconnect to remove the stored API key and disconnect the provider.Disconnect provider

Local LLM setup

The openai-compatible provider connects to any OpenAI-compatible local server — Ollama, LM Studio, vLLM, or any custom endpoint. You provide the base URL when connecting. When listing models from the endpoint, brv providers connect dedupes by model ID. Upstreams that return the same model under multiple aliases (for example NVIDIA NIM) show as a single row in the picker.
1

Serve your model

Make sure your local LLM server is running before connecting.
2

Connect the provider

Run /providers and select OpenAI Compatible. ByteRover prompts you to enter the base URL of your endpoint:
/providers
Base URL prompt for OpenAI Compatible providerEnter your base URL (e.g., http://localhost:11434/v1 for Ollama). An API key prompt follows — leave it blank if your server doesn’t require one.
3

Select your model

/model

Supported providers

ByteRover supports 20 providers:
ProviderIDDefault modelGet API key
ByteRover (built-in)byteroverNo API key — requires brv login
OpenRouteropenrouteranthropic/claude-sonnet-4.5openrouter.ai/keys
Anthropicanthropicclaude-sonnet-4-5-20250929console.anthropic.com
OpenAIopenaigpt-4.1platform.openai.com
Google Geminigooglegemini-3-flash-previewaistudio.google.com
xAI (Grok)xaigrok-3console.x.ai
Groqgroqopenai/gpt-oss-120bconsole.groq.com
Mistralmistralmistral-large-latestconsole.mistral.ai
DeepInfradeepinframeta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8deepinfra.com
Coherecoherecommand-a-03-2025dashboard.cohere.com
Together AItogetheraimeta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8api.together.ai
Perplexityperplexitysonar-properplexity.ai
Cerebrascerebrasgpt-oss-120bcloud.cerebras.ai
Vercelvercelv0-1.5-mdv0.dev
MiniMaxminimaxMiniMax-M2.7platform.minimax.io
GLM (Z.AI)glmglm-4.7chat.z.ai
GLM Coding Plan (Z.AI)glm-coding-planglm-4.7z.ai/manage-apikey/apikey-list
Moonshot AI (Kimi)moonshotkimi-k2.5platform.moonshot.ai
DeepSeekdeepseekdeepseek-chatplatform.deepseek.com
OpenAI Compatibleopenai-compatiblellama3Optional (depends on endpoint)
The following models have been verified and are recommended for optimal performance with ByteRover:
ProviderModel
Anthropicclaude-opus-4.6
Anthropicclaude-sonnet-4.6
Anthropicclaude-3.7-sonnet
Anthropicclaude-haiku-4.5
Anthropicclaude-3-haiku
Google (Gemini)gemini-3.1-pro-preview
Google (Gemini)gemini-3.1-flash-lite-preview
Google (Gemini)gemini-3-flash-preview
OpenAIgpt-5.4
OpenAIgpt-5.2
OpenAIgpt-5.1
OpenAIgpt-5.4-mini
OpenAIgpt-5
OpenAIgpt-4.5
OpenAIgpt-4.1
OpenAIgpt-4.1-nano
OpenAIgpt-4o
OpenAIgpt-4o-mini
OpenAIo3
OpenAIo3-mini
ZAIglm-5
ZAIglm-4.7
ZAIglm-4.6
ZAIglm-4.5
ZAIglm-4.5-flash

Environment variable auto-detection

If an API key is already set in your environment, ByteRover detects it automatically — no manual entry needed when connecting.
ProviderEnvironment variable(s)
AnthropicANTHROPIC_API_KEY
OpenAIOPENAI_API_KEY
OpenRouterOPENROUTER_API_KEY
Google GeminiGOOGLE_API_KEY, GEMINI_API_KEY
xAIXAI_API_KEY
GroqGROQ_API_KEY
MistralMISTRAL_API_KEY
DeepInfraDEEPINFRA_API_KEY
CohereCOHERE_API_KEY
Together AITOGETHER_API_KEY, TOGETHERAI_API_KEY
PerplexityPERPLEXITY_API_KEY
CerebrasCEREBRAS_API_KEY
VercelVERCEL_API_KEY
MiniMaxMINIMAX_API_KEY
GLMZHIPU_API_KEY
GLM Coding PlanZHIPU_API_KEY (shared with GLM)
Moonshot AIMOONSHOT_API_KEY
DeepSeekDEEPSEEK_API_KEY
OpenAI CompatibleOPENAI_COMPATIBLE_API_KEY

Hot-swap

No restart required when switching providers or models. When you switch, ByteRover broadcasts a provider:updated event and agent processes pick up the new configuration at the start of their next task. If tasks are already running, the swap is deferred until all in-flight tasks complete. Two behaviors depending on what changed:
  • Provider changed — a new session is created. In-memory conversation history is cleared (history formats are incompatible across providers).
  • Model only changed — the session ID is reused, but in-memory conversation history is still lost on the new session manager.

Credential storage

API keys are stored in an AES-256-GCM encrypted local file — not your system keychain. Both files use 0600 permissions (owner read/write only).
FilePurpose
<data-dir>/.provider-keysRandom 32-byte encryption key, rotated on each save
<data-dir>/provider-credentialsAES-256-GCM encrypted JSON map of provider → API key
OAuth tokens are stored alongside API keys in the same encrypted storage and are automatically refreshed by the daemon — no manual token management required. Non-sensitive preferences (active provider, active model, favorites, recent models) are stored in plaintext at <config-dir>/providers.json. Platform-specific paths:
Platform<config-dir><data-dir>
macOS~/Library/Application Support/brv~/Library/Application Support/brv
Linux~/.config/brv (or $XDG_CONFIG_HOME/brv)~/.local/share/brv (or $XDG_DATA_HOME/brv)
Windows%APPDATA%/brv%LOCALAPPDATA%/brv

Next steps

Quickstart

Full setup guide including provider configuration

CLI Reference

Complete reference for all brv providers and brv model commands