For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
WebsiteStatusSupportDashboard
DocumentationAPI ReferenceMCPSDKsCLI (new)What's New?
DocumentationAPI ReferenceMCPSDKsCLI (new)What's New?
  • Get started
    • Introduction
    • Phone calls
    • Web calls
    • Vapi Guides
    • Composer
    • CLI quickstart
  • Assistants
    • Quickstart
    • Tools
    • Custom keywords
    • Custom voices
    • Custom transcriber
    • Custom TTS
  • Observability
    • Boards
  • Squads
    • Quickstart
    • Overview
    • Handoff tool
    • Passing data between assistants
  • Best practices
    • Prompting guide
    • Debugging voice agents
    • Enterprise environments (DEV/UAT/PROD)
    • IVR navigation
  • Phone numbers
    • Free Vapi number
    • Inbound SMS
    • Phone Number Hooks
  • Calls
    • Call end reasons
    • Troubleshoot call errors
  • Outbound Campaigns
    • Quickstart
    • Overview
  • Chat
    • Quickstart
    • Streaming
    • Non-streaming
    • OpenAI compatibility
    • Session management
    • Variable substitution
    • SMS chat
    • Web widget
    • Webhooks
  • Workflows
    • Quickstart
    • Overview
LogoLogo
WebsiteStatusSupportDashboard
On this page
  • Overview
  • Installation
  • Quick start
  • Key features
  • 🚀 Project integration
  • 🤖 MCP integration
  • 🔗 Local webhook testing
  • 🔐 Multi-account management
  • 📱 Complete feature parity
  • Common commands
  • Configuration
  • Auto-updates
  • Next steps
Get started

Vapi CLI

Was this page helpful?
Edit this page
Previous

Assistants quickstart

Build your first assistant and make a phone call in minutes
Next
Built with

Overview

The Vapi CLI is the official command-line interface that brings world-class developer experience to your terminal and IDE. Build, test, and deploy voice AI applications without leaving your development environment.

In this guide, you’ll learn to:

  • Install and authenticate with the Vapi CLI
  • Initialize Vapi in existing projects
  • Manage assistants, phone numbers, and workflows from your terminal
  • Forward webhooks to your local development server
  • Turn your IDE into a Vapi expert with MCP integration

Installation

Install the Vapi CLI in seconds with our automated scripts:

macOS/Linux
Windows
Docker
$curl -sSL https://vapi.ai/install.sh | bash

Quick start

1

Authenticate

Connect your Vapi account:

$vapi login

This opens your browser for secure OAuth authentication.

2

Initialize your project

Add Vapi to an existing project:

$vapi init

The CLI auto-detects your tech stack and sets up everything you need.

3

Create your first assistant

Build a voice assistant:

$vapi assistant create

Follow the interactive prompts to configure your assistant.

Key features

🚀 Project integration

Drop Vapi into any existing codebase with intelligent auto-detection:

$vapi init
$# Detected: Next.js application
$# ✓ Installed @vapi-ai/web SDK
$# ✓ Generated components/VapiButton.tsx
$# ✓ Created pages/api/vapi/webhook.ts
$# ✓ Added environment template

Supports React, Vue, Next.js, Python, Go, Flutter, React Native, and dozens more frameworks.

🤖 MCP integration

Turn your IDE into a Vapi expert with Model Context Protocol:

$vapi mcp setup

Your IDE’s AI assistant (Cursor, Windsurf, VSCode) gains complete, accurate knowledge of Vapi’s APIs and best practices. No more hallucinated code or outdated examples.

🔗 Local webhook testing

Forward webhooks to your local server for debugging:

$# Terminal 1: Create tunnel (e.g., with ngrok)
$ngrok http 4242
$
$# Terminal 2: Forward webhooks
$vapi listen --forward-to localhost:3000/webhook

Important: vapi listen is a local forwarder only - it does NOT provide a public URL. You need a separate tunneling service (like ngrok) to expose the CLI’s port to the internet. Update your webhook URLs in Vapi to use the tunnel’s public URL.

🔐 Multi-account management

Switch between organizations and environments seamlessly:

$# List all authenticated accounts
$vapi auth status
$
$# Switch between accounts
$vapi auth switch production
$
$# Add another account
$vapi auth login

📱 Complete feature parity

Everything you can do in the dashboard, now in your terminal:

  • Assistants: Create, update, list, and delete voice assistants
  • Phone numbers: Purchase, configure, and manage phone numbers
  • Calls: Make outbound calls and view call history
  • Workflows: Manage conversation flows (visual editing in dashboard)
  • Campaigns: Create and manage AI phone campaigns at scale
  • Tools: Configure custom functions and integrations
  • Webhooks: Set up and test event delivery
  • Logs: View system logs, call logs, and debug issues

Common commands

Assistant management
$# List all assistants
$vapi assistant list
$
$# Create a new assistant
$vapi assistant create
$
$# Get assistant details
$vapi assistant get <assistant-id>
$
$# Update an assistant
$vapi assistant update <assistant-id>
$
$# Delete an assistant
$vapi assistant delete <assistant-id>
Phone number management
$# List your phone numbers
$vapi phone list
$
$# Purchase a new number
$vapi phone create
$
$# Update number configuration
$vapi phone update <phone-number-id>
$
$# Release a number
$vapi phone delete <phone-number-id>
Call operations
$# List recent calls
$vapi call list
$
$# Make an outbound call
$vapi call create
$
$# Get call details
$vapi call get <call-id>
$
$# End an active call
$vapi call end <call-id>
Debugging and logs
$# View system logs
$vapi logs list
$
$# View call-specific logs
$vapi logs calls <call-id>
$
$# View error logs
$vapi logs errors
$
$# View webhook logs
$vapi logs webhooks

Configuration

The CLI stores configuration in ~/.vapi-cli.yaml. You can also use environment variables:

$# Set API key via environment
$export VAPI_API_KEY=your-api-key
$
$# View current configuration
$vapi config get
$
$# Update configuration
$vapi config set <key> <value>
$
$# Manage analytics preferences
$vapi config analytics disable

Auto-updates

The CLI automatically checks for updates and notifies you when new versions are available:

$# Check for updates manually
$vapi update check
$
$# Update to latest version
$vapi update

Next steps

Now that you have the Vapi CLI installed:

  • Initialize a project: Add Vapi to your existing codebase
  • Set up MCP: Enhance your IDE with Vapi intelligence
  • Test webhooks locally: Debug webhooks with tunneling services
  • Manage authentication: Work with multiple accounts

Resources:

  • GitHub Repository
  • Report Issues
  • Discord Community