Skip to content

Configuration

where what
Local ~/.bee/config.json (0600) one Mongo connection string. Nothing else.
Shared your MongoDB store provider keys, endpoints, rules, memories, souls

The shipped binary contains zero credentials. Rotation happens in one place, and a new machine needs one string to become fully configured.

Terminal window
bee config path # where the local file is
bee config show # local + remote, secrets masked
bee config get <key> # raw value to stdout, pipeable
bee config set <key> <value> [--secret]
Terminal window
bee config set ask.provider deepseek # deepseek | openai | anthropic
bee config set deepseek.apiKey sk-... --secret
bee config set deepseek.model deepseek-chat

Embeddings — for remember search --semantic

Section titled “Embeddings — for remember search --semantic”
Terminal window
bee config set embedding.provider local # local (default) | gemini
bee config set embedding.model <model-id>
bee config set gemini.apiKey ... --secret # only for the gemini backend

One backend per store — switching changes the vector width and old facts stop matching new ones.

Terminal window
bee config set skill.endpoint https://skill-bridge.example.com/mcp
variable effect
BEE_HOME Replaces your home directory for bee. bee still appends .bee, so BEE_HOME=/x gives /x/.bee/config.json.
BEE_SESSION Names the current session, for handover --session, when the harness is one bee does not know.
BEE_EMBEDDING_MODEL Overrides the local embedding model id.

bee also reads session ids the harness already exports — CLAUDE_CODE_SESSION_ID, CODEX_SESSION_ID — so no extra setup is needed for Claude Code or Codex.

Rules and memories are scoped to a project, resolved from the git remote. The same checkout on another machine is the same project; two unrelated directories are not. --global (rules) and --all-projects (search) cross the boundary deliberately.

Linked git worktrees are handled: .git there is a file pointing at the main repository, and identity is read from where git actually keeps it.