The LeadMagic CLI stores configuration in a JSON file and supports environment variable overrides.
Config File Location
Location Path When Used Project-local .leadmagic/config.jsonWhen a .leadmagic/ directory exists in the current or parent directory Global ~/.leadmagic/config.jsonFallback when no project-local directory is found
The CLI checks for a project-local .leadmagic/ directory first, walking up the directory tree. If none is found, it uses the global directory at ~/.leadmagic/.
Initialize a project-local directory:
Initialize the global directory:
Configuration Keys
Manage config values with lm config:
lm config show # Show all settings
lm config get apiKey # Get a specific value
lm config set apiKey # Set a value (prompts securely for sensitive keys)
User Config Keys
These keys can be set via lm config set <key> <value>:
Key Type Description Default apiKeystring LeadMagic API key (lm_ prefix) — baseUrlstring (URL) API base URL https://api.leadmagic.iodbPathstring Path to database file ~/.leadmagic/data.dbdbMemoryLimitstring Database memory limit (e.g., 2GB, 512MB) — dbThreadsnumber Number of database threads (1–256) — aiProvider"gateway"AI provider gatewayaiModelstring AI model identifier anthropic/claude-sonnet-4.6
Internal Config Keys
These are managed automatically by the CLI:
Key Type Description authTokenstring OAuth access token (from lm login) refreshTokenstring OAuth refresh token authTokenExpiresAtnumber Token expiry timestamp (ms) userInfoobject Cached user info (email, name) workerBaseUrlstring AI Gateway URL outputDirstring Export output directory scrollSpeednumber Scroll speed (1–10) themestring Color theme name plainTextMessagesboolean Render messages as plain text acceptedTermsAtstring ISO timestamp of terms acceptance dbQueryTimeoutnumber SQL query timeout (ms) dbMaxRowsnumber Max rows returned from queries
Environment Variables
Variable Overrides Description LEADMAGIC_API_KEYapiKeyAPI key (takes precedence over config file) LM_WORKER_URLworkerBaseUrlAI Gateway URL LM_DEBUG— Set to 1 to enable debug logging
Database Configuration
The CLI uses a local embedded database for storing loaded data, query results, and metadata.
lm config set dbPath /path/to/custom.db
lm config set dbMemoryLimit 4GB
lm config set dbThreads 8
Database management commands:
Command Description lm db initInitialize database and run migrations lm db statsShow database statistics and memory usage lm db vacuumCompact database, reclaim space lm db analyzeUpdate query optimizer statistics lm db repairFix corruption and re-run migrations lm db resetDrop all tables and data lm db unlockRelease database lock from stale processes
lm db reset is destructive and cannot be undone. Exported files in .leadmagic/export/ are preserved.
AI Model Selection
Select a model interactively:
Or set it directly:
lm config set aiModel claude-sonnet
List available models:
lm config list-models
lm config list-models -p anthropic
In chat, switch models on the fly:
Themes
The CLI supports four color themes:
Theme Description draculaDark purple theme (default) tokyo-nightDark blue theme nordArctic blue theme catppuccinWarm pastel theme
Set a theme:
lm config set theme tokyo-night
Or switch in chat:
Export Directory
All enrichment, validation, and export results are saved to timestamped subdirectories:
.leadmagic/export/
├── 20260306-143022-email-finder/
│ └── contacts_enriched.csv
├── 20260306-151045-validation/
│ └── campaign_validated.csv
└── 20260306-160812-enrich/
└── leads_enriched.csv
Each operation creates a new timestamped directory to prevent overwriting previous results.
Set a custom output directory:
lm config set outputDir /path/to/exports
Interactive Configuration
Open the full interactive configuration UI:
This provides a terminal-based interface for browsing and editing all settings. Aliases: lm config ui, lm config tui.
Next Steps
Command Reference All 19 commands with flags and examples.
Troubleshooting Common issues and how to fix them.