Config Options ​
Configuration lives at ~/.skimpyclaw/config.json. All fields are optional unless noted.
gateway ​
| Field | Type | Default | Description |
|---|---|---|---|
port | number | 18790 | HTTP server port |
host | string | 127.0.0.1 | Bind address |
mode | string | local | Deployment mode |
agents ​
| Field | Type | Description |
|---|---|---|
default | string | Default agent name (usually main) |
list | object | Map of agent name to agent config |
Agent config ​
| Field | Type | Description |
|---|---|---|
identity.name | string | Display name |
identity.emoji | string | Agent emoji |
model | string | Default model (e.g. anthropic/claude-opus-4) |
thinking | string | Thinking level: off, low, medium, high |
models ​
models.providers ​
Each provider key maps to its auth config:
json
{
"anthropic": { "authToken": "${CLAUDE_CODE_OAUTH_TOKEN}" },
"openai": { "apiKey": "${OPENAI_API_KEY}", "baseURL": "https://api.openai.com/v1" },
"codex": { "authToken": "codex", "authPath": "${HOME}/.codex/auth.json" },
"minimax": { "apiKey": "${MINIMAX_API_KEY}", "baseURL": "https://api.minimax.io/v1" },
"kimi": { "apiKey": "${KIMI_API_KEY}", "baseURL": "https://api.kimi.com/coding/v1" }
}1
2
3
4
5
6
7
2
3
4
5
6
7
models.aliases ​
Map of shorthand names to full provider/model-id. See Model Aliases.
channels ​
| Field | Type | Description |
|---|---|---|
active | string | Active channel: telegram or discord |
channels.telegram / channels.discord ​
| Field | Type | Description |
|---|---|---|
enabled | boolean | Enable this channel |
token | string | Bot token (use ${ENV_VAR} syntax) |
allowFrom | array | Allowed user IDs |
defaultAllowedPaths | array | Paths the agent can access |
defaultChannelId | string | Discord only -- default channel for proactive messages |
cron ​
| Field | Type | Description |
|---|---|---|
jobs | array | List of cron job definitions |
Cron job ​
| Field | Type | Description |
|---|---|---|
id | string | Unique job ID |
schedule | string | Cron expression (e.g. 0 8 * * *) |
payload.type | string | agentTurn or script |
payload.prompt | string | Agent prompt (for agentTurn) |
payload.command | string | Shell command (for script) |
payload.cwd | string | Working directory (for script) |
payload.timeoutMs | number | Timeout in ms |
payload.tools | ToolConfig | Tool access config (for agentTurn) |
heartbeat ​
| Field | Type | Default | Description |
|---|---|---|---|
intervalMs | number | 1800000 | Check interval (30 min) |
prompt | string | Heartbeat prompt | |
tools | ToolConfig | Tool access for heartbeat agent |
dashboard ​
| Field | Type | Description |
|---|---|---|
token | string | Bearer auth token (auto-generated by setup) |
subagents ​
| Field | Type | Default | Description |
|---|---|---|---|
maxConcurrent | number | 5 | Max parallel subagents |
maxRetries | number | 2 | Retries on failure |
defaultCodeAgent | string | claude | Default CLI for code_with_team workers |
ToolConfig ​
Used by cron jobs, heartbeat, and telegram defaults:
| Field | Type | Description |
|---|---|---|
enabled | boolean | Enable tool use |
allowedPaths | string[] | Filesystem paths the agent can access |
maxIterations | number | Max tool-use loop iterations |
bashTimeout | number | Bash command timeout (ms) |
browser.enabled | boolean | Enable Playwright browser tool |