pipecat init initializes a new Pipecat app. It’s the single entry point for building with Pipecat.
It gives you a choice about how to scaffold your project:
- Using a coding agent like Claude Code or Codex
- Using an interactive wizard
AGENTS.md and CLAUDE.md are provided so your favorite coding agent works well with Pipecat.
Usage:
string
Directory to initialize.
pipecat init my-bot targets ./my-bot; pipecat init . targets the current directory. With no argument and no scaffold
options, the CLI prompts for a directory. When scaffold options are present,
the bot is generated in-place in this directory (the project name is
derived from it); a missing TARGET_DIR then defaults to the current
directory. The special value quickstart (pipecat init quickstart)
scaffolds the canned quickstart bot into ./pipecat-quickstart (see
Quickstart Preset).boolean
default:"false"
Overwrite existing
AGENTS.md, CLAUDE.md, and GETTING_STARTED.md files. By
default existing guide files are kept, so your edits are never clobbered.--config) scaffolds a bot non-interactively, in-place in TARGET_DIR.
string
Project name. Defaults to the target directory name; pass this to override it.
string
Bot type:
web or telephony. Optional — inferred from --transport when
omitted (telephony if any transport is a telephony provider, otherwise web).string
Transport provider. Repeatable for multiple transports (e.g.
-t daily -t smallwebrtc). Valid values: daily, smallwebrtc, twilio, telnyx,
plivo, exotel, daily_pstn, twilio_daily_sip.string
Pipeline mode:
cascade or realtime.string
Speech-to-Text service (cascade mode). e.g.
deepgram_stt, openai_stt.string
Language model service (cascade mode). e.g.
openai_llm, anthropic_llm.string
Text-to-Speech service (cascade mode). e.g.
cartesia_tts, elevenlabs_tts.string
Realtime service (realtime mode). e.g.
openai_realtime,
gemini_live_realtime.string
Video avatar service (web bots only). e.g.
heygen_video, tavus_video,
simli_video.string
Client framework (web bots only):
react, vanilla, or none.string
Client dev server (when using
--client-framework react): vite or nextjs.string
Daily PSTN mode (required when transport is
daily_pstn): dial-in or
dial-out.string
Twilio + Daily SIP mode (required when transport is
twilio_daily_sip):
dial-in or dial-out.boolean
default:"false"
Enable audio recording.
boolean
default:"false"
Enable transcription logging.
boolean
default:"false"
Enable video input (web bots only).
boolean
default:"false"
Enable video output (web bots only).
boolean
default:"true"
Generate Pipecat Cloud deployment files (Dockerfile, pcc-deploy.toml).
boolean
default:"false"
Enable Krisp noise cancellation (requires cloud deployment).
boolean
default:"false"
Enable observability.
boolean
default:"false"
Make the generated bot eval-ready: add an
eval transport entry and starter
scenarios in server/evals/, plus the dependencies to run them. See the
evals docs for the verification workflow.string
Path to a JSON config file. Triggers non-interactive scaffolding. CLI flags
override file values.
boolean
default:"false"
Print the resolved scaffold configuration as JSON without writing any files.
boolean
default:"false"
Print all available service options as JSON and exit. Useful for CI scripts
and coding agents that need to discover valid values at runtime.
boolean
default:"true"
Register the Pipecat Context Hub MCP server with
your coding agents, and offer to build its index.
Context Hub setup
On the coding-agent path,init sets up the Context Hub — the guides it writes tell your agent to query the hub, so it makes sure the hub is there to query.
Registration runs without asking: it’s instant, idempotent, and needs doing per project, since Claude Code stores MCP servers per project. init reports what came of it — editors configured by hand (Cursor, VS Code, Zed) are pointed at pipecat context-hub install to print the config block to paste, and a client that rejects the registration reports why.
Building the index is the only prompt, and only appears when no index exists yet. It takes upwards of three minutes and about 900 MB of disk, so init asks rather than assuming. The index is shared across every project on the machine, so once it exists the question doesn’t return.
pipecat init quickstart skips this entirely, to stay a short path to a running bot.
Behavior
- Existing guide files are kept. Re-running
pipecat initnever overwrites an existingAGENTS.md,CLAUDE.md, orGETTING_STARTED.md, so your edits are safe. If a guide was written by an older Pipecat version, an interactive run offers to refresh it on the spot; a non-interactive run prints how. --overwrite-guiderefreshes them, overwriting the existing guide files with the current templates (for example, after upgrading Pipecat).GETTING_STARTED.mdis written on the coding-agent path only, not when scaffolding a bot.
Scaffolding a Bot
pipecat init scaffolds a complete project — bot.py, dependencies, config, and an optional client — in-place in the target directory, so the coding-agent guide and a runnable bot live together.
Interactive
With no scaffold options, an interactivepipecat init asks whether to build with a coding agent or scaffold a bot now. Choosing to scaffold runs a wizard for bot type, transport, AI services, and deployment options.
Non-Interactive
Passing any scaffold option (or--config) skips the prompts and builds the project from your flags and/or a config file — the path coding agents and automation use. The typical agent loop is:
--transport when omitted. Run pipecat init --list-options to discover valid service and transport values.
Quickstart Preset
./pipecat-quickstart and writes AGENTS.md + CLAUDE.md there (the generated README carries the Context Hub setup). It’s the fastest way to a running project that your coding agent can work with.
Examples
Initialize for a coding agent
Scaffold in place, non-interactively
web here), so --bot-type is optional.
Realtime bot
Multiple transports
With a React client
Telephony
Eval-ready bot
Refresh the guide files
Scaffold the quickstart project
Discover available options
Dry run
From a config file
project-config.json:
Generated Project Structure
README.md includes a “Building with an AI coding agent” section with Pipecat Context Hub setup, so a scaffolded project is ready to extend with Claude Code or Codex.
Next Steps
Build Your Next Bot
The full flow: initialize a project, then build with a coding agent or
scaffold a bot