Skip to content

Models and providers

Babel is local software that you bring your own provider to. It does not include model inference and does not host your credentials.

  • Desktop: use Providers and models to save a key in the private Desktop profile’s engine/config/.env by default. This plaintext file is not an OS keychain. Project storage is an explicit opt-in requiring an untracked, Git-ignored .env in the selected project.
  • Source CLI: create ~/.babel/config/.env (Windows: %USERPROFILE%\.babel\config\.env) using the blank example configuration. On macOS/Linux, restrict it with chmod 600 ~/.babel/config/.env. BABEL_CONFIG_DIR selects an explicit configuration directory.
  • Shell/CI environment variables take precedence. The old babel-cli/.env path requires BABEL_LEGACY_CLI_ENV=1 compatibility opt-in.

Never commit a populated .env, paste keys into chat, or share the file.

Desktop offers qualified routes for OpenRouter, DeepSeek, DeepInfra, OpenCode Go, and local Ollama. A provider’s public catalog does not mean every listed model is qualified by the harness.

In Providers and models, select your provider, enter its key, enable the models you want available, and choose a default. Leave the key blank to retain a saved credential. Refresh checks qualified public catalog entries; Ollama refresh discovers installed local models and requires no cloud key. Desktop Ollama requests stay on http://127.0.0.1:11434/v1.

The selected provider and enabled model govern Desktop runs, including auxiliary model calls. An unavailable or disabled route produces an error; it does not silently switch provider. Plan and Deep currently require OpenRouter. Other providers offer Chat with a clear explanation.

Source CLI sessions also support /model. See the CLI model-policy configuration for source-only routes and advanced settings.

Terminal window
node .\babel-cli\dist\index.js models ping --json

models ping needs a configured provider; skip it on the no-key inspect path.

  • Credentials: your machine, in the places above. Babel does not sync them.
  • Project content: a task may send project content to your configured provider and incur charges — review run confirmations and tool approvals.
  • Local execution does not imply local inference: provider-backed runs call out to the provider you configured.