ElevenLabs CLI
Manage your voice agents as code from your command line.
https://www.youtube-nocookie.com/embed/MuORAEVtJIQ?rel=0
Overview
Section titled “Overview”The ElevenLabs CLI allows you to access your ElevenLabs agents from your terminal, unlocking new ways to manage them:
- Store agents as code in your version control system
- Set up CI/CD integration to automatically deploy your agents
- Let your coding agent access and manage your voice agents
Installation
Section titled “Installation”Homebrew (macOS) and Scoop (Windows) are the recommended install methods and ship a standalone binary.
brew install elevenlabs/tap/elevenlabsscoop bucket add elevenlabs https://github.com/elevenlabs/scoop-bucket
scoop install elevenlabsnpm install -g @elevenlabs/clicurl --proto '=https' --tlsv1.2 -LsSf https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.sh | shWorking with an AI coding assistant? Run elevenlabs generate-skills in your project to write a
SKILL.md for every command group into skills/, so your assistant knows the CLI's full surface
without you pasting docs. Use --output-dir to put them elsewhere. This reads the CLI's own
embedded API definition, so it needs no API key and works offline — and it stays in step with
whichever CLI version you have installed.
After installation, the elevenlabs command will be available globally in your terminal.
brew install elevenlabs/tap/elevenlabsAfter installation, the elevenlabs command will be available globally in your terminal.
Quick start
Section titled “Quick start”Initialize a new project
Bash elevenlabs agents initThis creates the project structure with configuration directories and registry files.
Authenticate with ElevenLabs
Bash elevenlabs auth loginThis will open up a browser window to authenticate via OAuth. The CLI will verify the credentials and store them securely.
Create your first agent
Bash elevenlabs agents add "My Assistant" --template assistantThis creates a new agent configuration using the assistant template.
Push to ElevenLabs platform
Bash elevenlabs agents pushThis uploads your local agent configuration to the ElevenLabs platform.
Project structure
Section titled “Project structure”The CLI creates a structured project directory:
your_project/
├── agents.json # Central agent configuration registry
├── tools.json # Tool definitions registry
├── tests.json # Test definitions registry
├── agent_configs/ # Agent configuration files
├── tool_configs/ # Tool configuration files
└── test_configs/ # Test configuration filesAuthentication
Section titled “Authentication”elevenlabs auth login stores credentials in your operating system’s keyring — Keychain on macOS, Credential Manager on Windows, and the Secret Service on Linux. Where no keyring is available, the CLI falls back to ~/.config/elevenlabs/auth-keyring.json with 0600 permissions. Run elevenlabs auth status to see which source is in use, and elevenlabs auth logout to remove the stored entry.
For CI, set ELEVENLABS_API_KEY in the environment or a .env file instead of logging in.
Authentication commands
Section titled “Authentication commands”elevenlabs auth loginelevenlabs auth logoutelevenlabs auth loginAgent management
Section titled “Agent management”Creating agents
Section titled “Creating agents”Create agents using pre-built templates:
elevenlabs agents add "Agent Name" [options]Options:
--template <type>: Choose from available templates (default: default)--skip-upload: Create locally without uploading to platform
Example:
elevenlabs agents add "Customer Support Bot" --template customer-serviceTemplates
Section titled “Templates”The CLI provides six pre-built templates for common use cases:
default
Complete configuration with all available fields, sensible defaults, full voice/text support, widget customization, and evaluation criteria.
minimal
Essential fields only including basic prompt, language, TTS, and conversation settings.
voice-only
Optimized for voice interactions with disabled text input and advanced voice settings.
text-only
Text-focused conversations with disabled voice features.
customer-service
Professional empathetic prompts, low temperature (0.1), 30-minute duration, and evaluation criteria.
assistant
General-purpose AI assistant with balanced creativity (temperature 0.3) and versatile voice/text support.
Template commands
Section titled “Template commands”elevenlabs agents templates listelevenlabs agents templates show <template>elevenlabs agents templates listSynchronization
Section titled “Synchronization”Keep your local configurations synchronized with the ElevenLabs platform:
elevenlabs agents pushelevenlabs agents push --dry-runelevenlabs agents pushStatus and monitoring
Section titled “Status and monitoring”Check agent status
elevenlabs agents statusImport and export
Section titled “Import and export”elevenlabs agents pullelevenlabs agents pull --agent <agent_id>elevenlabs agents pull --updateelevenlabs agents listBy default, elevenlabs agents pull skips agents that already exist locally. Use the --update
flag to override local configurations with remote changes made in the browser or via the API.
elevenlabs agents pullTool management
Section titled “Tool management”The CLI supports two types of tools for extending agent capabilities:
Webhook tools
Section titled “Webhook tools”HTTP API integrations with authentication and timeout configuration:
elevenlabs tools add "API Integration" --type "webhook" --config-path ./config.jsonClient tools
Section titled “Client tools”Direct client-side integrations:
elevenlabs tools add "Client Function" --type "client" --config-path ./config.jsonWidget generation
Section titled “Widget generation”Generate HTML embed code for web integration:
elevenlabs agents widget embed <agent_id>This outputs HTML code like:
<elevenlabs-convai agent-id="agent_id_here"></elevenlabs-convai>
<script src="https://unpkg.com/@elevenlabs/convai-widget-embed" async></script>Configuration files
Section titled “Configuration files”Agent configuration structure
Section titled “Agent configuration structure”Each agent configuration includes:
{
"name": "Agent Name",
"conversation_config": {
"agent": {
"language": "en",
"prompt": {
"prompt": "You are a helpful AI assistant.",
"llm": "gemini-2.5-flash",
"temperature": 0.0
}
},
"tts": {
"model_id": "eleven_turbo_v2",
"voice_id": "cjVigY5qzO86Huf0OWal",
"agent_output_audio_format": "pcm_16000"
},
"asr": {
"provider": "scribe_realtime",
"quality": "high",
"user_input_audio_format": "pcm_16000"
},
"conversation": {
"text_only": false,
"max_duration_seconds": 600,
"client_events": ["audio", "interruption"]
}
},
"platform_settings": {
"widget": {
"variant": "full",
"placement": "bottom-right"
}
},
"tags": []
}CI/CD pipeline integration
Section titled “CI/CD pipeline integration”# In your GitHub Actions workflow
- name: Deploy ElevenAgents agents
run: |
npm install -g @elevenlabs/cli
export ELEVENLABS_API_KEY=${{ secrets.ELEVENLABS_API_KEY }}
elevenlabs agents push --dry-run # Preview changes
elevenlabs agents push # Deploy
elevenlabs agents status # Verify deployment