Skip to main content
The CLI stores configuration in JSON files and provides commands to view and modify settings.

Config Locations

ScopePathPurpose
Global~/.consuelo/config.jsonUser-wide settings, credentials
Project./consuelo.config.jsonProject-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:

Legacy Format (CliConfig)

{
  "twilioAccountSid": "ACxxxxxx",
  "twilioAuthToken": "your_auth_token",
  "twilioPhoneNumber": "+15551234567",
  "llmProvider": "groq",
  "llmApiKey": "gsk_xxxxxx",
  "managed": true,
  "apiUrl": "https://consuelo.consuelohq.com",
  "workspaceId": "uuid-here"
}

Modern Format (ConsuloConfig)

{
  "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

consuelo config list
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:
consuelo config validate
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:
VariableConfig Path
CONSUELO_API_URLapiUrl
CONSUELO_API_KEYapiKey
CONSUELO_WORKSPACE_IDworkspaceId
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