Subchapter 1.3
references/installation.mdMarkdown4 KBView on GitHub
The ElevenLabs CLI is the recommended way to create and manage agents:
# npm (any platform with Node.js)
# macOS / Linux (Homebrew)
brew install elevenlabs/tap/elevenlabs# Windows (Scoop)
scoop bucket add elevenlabs https://github.com/elevenlabs/scoop-bucket
scoop install elevenlabs# Shell installer (any platform)
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.sh | shSet ELEVENLABS_API_KEY in your environment — the CLI picks it up automatically:
export ELEVENLABS_API_KEY="your-api-key"Or authenticate with OAuth, which stores credentials in the OS keyring:
elevenlabs auth login # Authenticate with OAuth
elevenlabs auth whoami # Verify current login status
elevenlabs auth logout # Remove stored credentials# Initialize a new project
elevenlabs agents init
# Create an agent from template
elevenlabs agents add "My Assistant" --template default
# Push to ElevenLabs platform
elevenlabs agents pushFor programmatic access and client-side integration:
npm install @elevenlabs/elevenlabs-js@latestImportant: Always use
@elevenlabs/elevenlabs-js. The oldelevenlabsnpm package (v1.x) is deprecated and should not be used.
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
// Option 1: Environment variable (recommended)
// Set ELEVENLABS_API_KEY in your environment
const client = new ElevenLabsClient();
// Option 2: Pass directly
const client = new ElevenLabsClient({ apiKey: "your-api-key" });If you have old packages installed, remove them:
# Remove deprecated packages
npm uninstall elevenlabs
# Install the current packages
npm install @elevenlabs/elevenlabs-js@latest
# For browser apps, install the package that matches your UI layer:
npm install @elevenlabs/client@latest # Vanilla JavaScript in the browser
npm install @elevenlabs/react@latest # React on the webImport changes:
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import { Conversation } from "@elevenlabs/client";
import {
ConversationProvider,
useConversationControls,
useConversationStatus,
} from "@elevenlabs/react";@elevenlabs/react re-exports @elevenlabs/client, so React apps usually only need
@elevenlabs/react. Wrap hook consumers in ConversationProvider and prefer granular hooks
such as useConversationControls and useConversationStatus; useConversation remains
available as the convenience all-in-one hook.
Use @elevenlabs/react-native for React Native projects with the same provider-and-hooks API;
only the import path changes.
pip install elevenlabsfrom elevenlabs import ElevenLabs
# Option 1: Environment variable (recommended)
# Set ELEVENLABS_API_KEY in your environment
client = ElevenLabs()
# Option 2: Pass directly
client = ElevenLabs(api_key="your-api-key")Every REST endpoint is available as a CLI subcommand. Set your API key as an environment variable and the CLI picks it up automatically — no headers or key flags needed:
export ELEVENLABS_API_KEY="your-api-key"
elevenlabs agents create \
--json '{"name": "My Agent", "conversation_config": {"agent": {"prompt": {"prompt": "You are helpful.", "llm": "gemini-2.0-flash"}}, "tts": {"voice_id": "JBFqnCBsd6RMkjVDRZzb"}}}'Or use the setup-api-key skill for guided setup.
| Variable | Description |
|---|---|
ELEVENLABS_API_KEY | Your ElevenLabs API key (required) |