The CLI stores configuration in JSON files and provides commands to view and modify settings.
Config Locations
| Scope | Path | Purpose |
|---|
| Global | ~/.consuelo/config.json | User-wide settings, credentials |
| Project | ./consuelo.config.json | Project-specific overrides |
Project config overrides global config. Use project config for workspace-specific settings.
Config Structure
The config file supports both legacy and modern formats:
{
"twilioAccountSid": "ACxxxxxx",
"twilioAuthToken": "your_auth_token",
"twilioPhoneNumber": "+15551234567",
"llmProvider": "groq",
"llmApiKey": "gsk_xxxxxx",
"managed": true,
"apiUrl": "https://consuelo.consuelohq.com",
"workspaceId": "uuid-here"
}
{
"version": "1",
"database": {
"type": "postgres",
"url": "postgresql://localhost:5432/consuelo"
},
"server": {
"port": 9000,
"host": "localhost"
},
"twilio": {
"accountSid": "ACxxxxxx",
"authToken": "your_auth_token",
"phoneNumber": "+15551234567",
"localPresence": true
},
"ai": {
"provider": "groq",
"apiKey": "gsk_xxxxxx",
"model": "llama-3.3-70b-versatile"
},
"twenty": {
"enabled": true,
"serverUrl": "https://consuelo.consuelohq.com"
},
"features": {
"dialer": true,
"coaching": true,
"analytics": true,
"files": true
}
}
Config Commands
View All Configuration
Output shows nested values with sensitive keys masked:
server.port: 9000
server.host: localhost
twilio.accountSid: ACxxxxxx
twilio.authToken: ********
ai.apiKey: ********
View Specific Value
Use dot notation to get nested values:
consuelo config get twilio.accountSid
consuelo config get server.port
consuelo config get ai.model
Set Values
Set nested values with dot notation:
consuelo config set server.port 3000
consuelo config set twilio.localPresence true
consuelo config set ai.provider openai
Remove Values
consuelo config unset twilio.localPresence
Show Sensitive Values
By default, sensitive keys are masked. To see actual values:
consuelo config list --show-sensitive
consuelo config get twilio.authToken --show-sensitive
Be careful when displaying sensitive values. Avoid doing this in shared
terminals or screen shares.
Scope Options
Specify which config scope to operate on:
# Global config (default)
consuelo config list --scope global
# Project config
consuelo config list --scope project
Validation
Validate your configuration:
This checks:
- Required keys are present (
database.type, server.port, server.host)
- Twilio credentials are valid (if configured)
- AI API key is valid (if configured)
- Database connection is accessible (self-hosted)
Environment Variables
Environment variables override config file values:
| Variable | Config Path |
|---|
CONSUELO_API_URL | apiUrl |
CONSUELO_API_KEY | apiKey |
CONSUELO_WORKSPACE_ID | workspaceId |
Example:
export CONSUELO_API_URL=https://staging.consuelohq.com
consuelo calls list
Sensitive Keys
The following keys are automatically masked in output:
twilio.authToken
ai.apiKey
database.url
Workspace Context
For multi-tenant deployments, specify which workspace to use:
# Via flag
consuelo contacts list --workspace acme-corp
# Via environment variable
export CONSUELO_WORKSPACE_ID=acme-corp-uuid
consuelo contacts list
Next Steps