Skip to content

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:

  1. API endpoint - The URL of your Wabee agent (found in Wabee Studio under your agent's settings)
  2. 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