Skip to main content
Beige is configured with a single ~/.beige/config.json5 file. JSON5 is JSON with comments, trailing commas, and unquoted keys. You can also override the path with --config.

Environment Variables

Any string value can reference environment variables using ${VAR_NAME}. Variables are resolved at startup — if a referenced variable is not set and has no default, the gateway exits with an error.
The ${VAR_NAME:-default} syntax provides a fallback value when the variable is not set. Without a default, missing variables cause a startup error.

Plugin Path Resolution

Plugin path values are resolved relative to the config file’s directory, unless they are absolute paths. Installed plugins (via beige plugins install) are auto-resolved.

Full Config Reference


Field Reference

llm.providers.<name>

API types:

plugins.<name>

skills.<name>

agents.<name>.model

agents.<name>.fallbackModels

Optional array of ModelRef objects tried in order when the primary model fails or is rate-limited. Each fallback can carry its own thinkingLevel and compactionThreshold. The gateway uses a multi-pass retry loop: it cycles through the model list up to 3 times, giving each model up to 3 chances per prompt. Rate-limited models (HTTP 429) are skipped immediately; transient errors (e.g. “overloaded”) consume one of the 3 chances and the model is retried on the next pass. See Model Fallback for details.

agents.<name>.sandbox

Why memoryLimit matters on constrained hosts. When the Docker host has no per-container memory limit and cgroup_disable=memory is set in the kernel (common on Raspberry Pi), a runaway process inside the sandbox — multiple concurrent npm install runs, for example — can exhaust all available RAM. The kernel never gets to invoke the OOM killer, and a hardware watchdog fires a hard reboot instead. Setting memoryLimit gives the container a cgroup ceiling so Docker’s OOM killer terminates the offending process inside the container, leaving the rest of the system intact.

agents.<name>.workspaceDir

Optional. Absolute or relative path for the agent’s workspace directory.
  • Default: ~/.beige/agents/<agentName>/workspace/
  • Inside sandbox: Always mounted at /workspace

agents.<name>.pluginConfigs

Optional. Per-agent plugin config overrides. Each key must reference a plugin in config.plugins. Values are deep-merged with the top-level plugins.<name>.config.
Arrays are replaced, not merged. The deep-merge recursively merges nested objects, but arrays and primitives from the agent override replace the base value entirely.

gateway


Validation at Startup


Minimal Working Config

This agent has no plugins but can still use the 4 core tools (read, write, patch, exec) inside its sandbox.

Host Directory Structure