Calls from the terminal
Start, join, and run Nebula live calls from your shell. Chat-first by default, with voice as a two-step opt-in and a headless mode for servers.
You can take a live call entirely from the terminal — start one, join one already running, or send a message into it without opening the room. The CLI joins chat-first: you're connected and reading, but not broadcasting, until you say so.
Starting and joining
nebula-ai call start opens a new session. Add --title to name it, --thread to seed it from an existing thread, or --private to keep it to you and whoever you invite.
nebula-ai call join drops you into a call that's already running.
nebula-ai call list shows the calls you can join; nebula-ai call status reports on the one you're in.
Leaving is nebula-ai call leave. nebula-ai call end ends it for everyone, so reach for that one deliberately.
Talking without joining
nebula-ai call chat sends a message into a call and returns — useful from a script, or when you just want to answer a question without putting on a headset.
It reads standard input when you leave -m off, so you can pipe into it.
Voice is a two-step opt-in
Because the CLI joins muted and data-only, getting your voice into the room takes two keys, in this order.
Press v to enter listening mode. The chip at the top right moves from ✎ chat to ◎ listening, and call audio starts playing.
Press m to unmute your microphone. The chip becomes ● voice and the room can hear you.
The chip is always the honest answer to "can anyone hear me?" — ✎ chat and ◎ listening both mean your mic is off. ● cam means your camera is on as well.
Reading the room
Every participant gets a glyph showing what they're doing, so you can follow a call without audio at all.
| Glyph | Meaning |
|---|---|
◉ | Speaking now |
◐ | Working — running a tool |
◍ | Thinking |
◎ | Listening |
◌ | In the background — working, but not speaking |
○ | Offline |
Keys inside a call
| Key | What it does |
|---|---|
| i | Type a message |
| v | Enter or leave voice |
| m | Mute or unmute your mic |
| o | Toggle the agent's audio |
| c | Camera on or off |
| p | Switch the agent between active and background |
| r / w | Recap / dispatched work |
| R | Reconnect |
| ^P | Hang up |
| E | End the call for everyone |
| Esc | Back |
Running without a screen
--headless runs the audio engine with no interface at all, which is what you want on a server or in a container.
Pair it with --chat to join data-only with no audio, or --muted to connect audio but never publish your microphone.
Before you rely on it
Voice needs a working audio backend, and the camera needs ffmpeg on your PATH. Rather than finding out mid-call, ask the CLI what this machine can actually do.
A call still costs Nebula Credits per active minute whether you join from the terminal or the browser — it's billed once per call, not per person.
Related
Command reference
Every nebula-ai command in one table, plus the global flags, JSON output for scripting, shell completion, and where to find the logs.
Devices
Devices are the machines your workspace agents use to do real work. Choose a virtual device in the cloud, a local device on your own computer, or both.