llmist uses environment variables for provider authentication and configuration.
Set these environment variables to enable provider auto-discovery:
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export GEMINI_API_KEY="..."
# OpenRouter (400+ models via unified gateway)
export OPENROUTER_API_KEY="sk-or-..."
When you create an agent without specifying a provider, llmist:
- Checks for API keys in environment variables
- Registers providers with valid keys
- Selects the appropriate provider based on model name
// Auto-discovers providers from environment
const agent = LLMist.createAgent()
.withModel('sonnet'); // Uses Anthropic if ANTHROPIC_API_KEY is set
| Variable | Description | Values |
|---|
LLMIST_LOG_LEVEL | Logging verbosity | silly, trace, debug, info, warn, error, fatal |
export LLMIST_LOG_LEVEL="debug"
These can also be set via command-line flags:
| Flag | Environment Variable | Description |
|---|
--log-level | LLMIST_LOG_LEVEL | Set log level |
npx @llmist/cli agent "Hello" --log-level debug
LLMIST_LOG_LEVEL=debug npx @llmist/cli agent "Hello"
| Variable | Description |
|---|
OPENAI_API_KEY | API key (required) |
OPENAI_ORG_ID | Organization ID (optional) |
OPENAI_BASE_URL | Custom API endpoint (optional) |
| Variable | Description |
|---|
ANTHROPIC_API_KEY | API key (required) |
ANTHROPIC_BASE_URL | Custom API endpoint (optional) |
| Variable | Description |
|---|
GEMINI_API_KEY | API key (required) |
| Variable | Description |
|---|
OPENROUTER_API_KEY | API key (required) |
OPENROUTER_SITE_URL | Your app URL for analytics (optional) |
OPENROUTER_APP_NAME | Your app name for analytics (optional) |
- Never commit API keys - Use
.env files or secret managers
- Use different keys per environment - Separate dev/staging/production
- Rotate keys regularly - Update keys periodically for security
# .env (add to .gitignore!)
ANTHROPIC_API_KEY=sk-ant-...
Load with your preferred method:
- Node.js:
dotenv package
- Bun: Built-in
.env support
- Shell:
source .env or export $(cat .env | xargs)