Overview
Configuration Overview
BabyClaw reads its configuration from a JSON file. If you ran babyclaw config init, this file lives at ~/.config/babyclaw/config.json.
Minimal config
The bare minimum to get BabyClaw running is a Telegram bot token and one AI provider:
{
"version": 1,
"channels": {
"telegram": {
"botToken": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
}
},
"ai": {
"providers": {
"anthropic": { "apiKey": "sk-ant-..." }
},
"models": {
"chat": "anthropic:claude-sonnet-4-20250514"
},
"aliases": {}
}
}
Everything else has sensible defaults. You only need to add config for things you want to change.
Config sections
The config file is organized into these top-level sections:
| Section | What it controls |
|---|---|
version | Always 1 (required) |
channels | Telegram bot token |
ai | Providers, models, and aliases |
database | SQLite database path |
workspace | Workspace directory path |
session | Message limits, history, reply chain mode, title generation |
tools | Which tools are enabled, shell security, web search |
skills | Per-skill enable/disable, API keys, environment variables |
scheduler | Timezone for scheduled tasks |
heartbeat | Periodic check-in settings |
logging | Log level, format, output |
Validation
BabyClaw validates the config strictly against its schema. If something is wrong -- unknown keys, bad types, missing required fields -- the gateway will refuse to start and tell you what's wrong.
You can check your config without starting the gateway:
babyclaw config validate
Editing the config
There are a few ways to edit the config:
Open in your editor:
babyclaw config edit
Interactive model setup:
babyclaw model configure
Edit manually:
Open ~/.config/babyclaw/config.json in any text editor. The gateway will pick up changes on the next restart.
Defaults
Most config fields have defaults, so you don't need to specify them. For example:
database.urldefaults to"file:../data/babyclaw.db"scheduler.timezonedefaults to"UTC"session.historyLimitdefaults to40tools.shell.modedefaults to"allowlist"heartbeat.enableddefaults tofalse
See the Configuration Reference for every field and its default value.
Next steps
- AI Providers -- setting up different AI providers
- Configuration Reference -- every field, type, and default