Configuration
The Wabee CLI uses a configuration file to store connection settings, credentials, and preferences. This guide explains how to configure the CLI for your environment.
Configuration File
Configuration is stored in ~/.wabee/config.yaml by default. You can specify a different location using the --config flag or the WABEE_CONFIG environment variable.
Configuration Structure
default_profile: development
profiles:
development:
endpoint: http://localhost:8000
api_key: dev-key
timeout: 30
production:
endpoint: https://your-agent.wabee.ai
api_key: ${WABEE_API_KEY}
auth_token: ${WABEE_AUTH_TOKEN}
timeout: 60
defaults:
output: text
stream: true
color: auto
Initial Setup
The easiest way to create your configuration is using the interactive setup:
wabee config init
This will prompt you for:
- API endpoint - The URL of your Wabee agent (found in Wabee Studio under your agent's settings)
- API key - Your authentication key (optional if using environment variables)
Profiles
Profiles allow you to configure multiple environments and switch between them easily. This is useful when working with different agents or environments (development, staging, production).
Creating a Profile
wabee config profile create production
This will prompt you for the endpoint and API key for the new profile.
Listing Profiles
wabee config profile list
The active profile is marked with an asterisk (*).
Switching Profiles
# Switch to a different profile
wabee config profile set production
# Or use the shorthand
wabee config use production
Deleting a Profile
wabee config profile delete staging
Note: You cannot delete the currently active profile. Switch to a different profile first.
Using a Profile Temporarily
Use the --profile flag to use a different profile for a single command:
wabee task new --profile production "Check system status"
Configuration Settings
Setting Values
wabee config set <key> <value>
Available keys:
| Key | Description | Example |
|---|---|---|
endpoint |
API endpoint URL | https://your-agent.wabee.ai |
api-key |
API key for authentication | your-api-key |
auth-token |
Alternative authentication token | your-token |
timeout |
Request timeout in seconds | 60 |
output |
Default output format | json, table, text, tree |
stream |
Enable streaming by default | true, false |
color |
Color output mode | auto, always, never |
Viewing Configuration
# Show current configuration
wabee config show
# Show with sensitive values visible
wabee config show --verbose
Environment Variables
Environment variables override configuration file settings, making them ideal for CI/CD environments and secure credential management.
| Variable | Description |
|---|---|
WABEE_API_KEY |
API key (overrides config file) |
WABEE_ENDPOINT |
API endpoint URL (overrides config file) |
WABEE_PROFILE |
Default profile to use |
WABEE_CONFIG |
Path to config file |
NO_COLOR |
Disable colored output when set |
Example: Using Environment Variables
# Set credentials via environment
export WABEE_API_KEY="your-api-key"
export WABEE_ENDPOINT="https://your-agent.wabee.ai"
# Run commands without storing credentials in config
wabee task new "Analyze this data"
Authentication
The CLI supports two authentication methods:
API Key
The most common method. Set via configuration or the WABEE_API_KEY environment variable:
wabee config set api-key your-api-key
Auth Token
For token-based authentication:
wabee config set auth-token your-token
Note: For security, we recommend using environment variables for credentials rather than storing them in the config file, especially in shared or CI/CD environments.
Global Options
These options can be used with any command and override profile settings:
| Option | Short | Description |
|---|---|---|
--config |
Path to config file | |
--endpoint |
-e |
API endpoint URL |
--api-key |
-k |
API key |
--profile |
-p |
Configuration profile |
--output |
-o |
Output format (json, table, text, tree) |
--quiet |
-q |
Suppress non-essential output |
--verbose |
-v |
Verbose output |
--no-color |
Disable colors | |
--timeout |
Request timeout (seconds) |
CI/CD Integration
For CI/CD pipelines, use environment variables to provide credentials securely:
GitHub Actions
- name: Install Wabee CLI
run: |
curl -L https://github.com/wabee-ai/agent-cli/releases/latest/download/wabee_linux_amd64.tar.gz | tar xz
sudo mv wabee /usr/local/bin/
- name: Run Agent Task
env:
WABEE_API_KEY: ${{ secrets.WABEE_API_KEY }}
WABEE_ENDPOINT: ${{ vars.WABEE_ENDPOINT }}
run: wabee task new --output json "Analyze this PR"
GitLab CI
run_agent:
script:
- curl -L https://github.com/wabee-ai/agent-cli/releases/latest/download/wabee_linux_amd64.tar.gz | tar xz
- ./wabee task new --output json "Run analysis"
variables:
WABEE_API_KEY: $WABEE_API_KEY
WABEE_ENDPOINT: $WABEE_ENDPOINT
Next Steps
- Command Reference - Explore all available commands