You need Node 22 or newer and a coding agent installed — Claude Code or Codex both work. You do not need a global
egma install; npx fetches the latest version on each run.Step 1 — Install and launch the wizard
Open a terminal in the repository that contains your voice agent and run:--headless:
Step 2 — Authenticate with egma login
The wizard signs this machine in automatically as part of the flow, but you can also run the login step on its own — for example in CI, or to sign in to a self-hosted instance before running self-host setup.
~/.egma/credentials, readable only by you. Set EGMA_HOME to store it somewhere else.
On a machine with no browser — over SSH, in a container — press [c] after the code appears and Egma copies the approval URL to your clipboard. Open it in a browser on another machine, approve it, then paste back the full address, the ?user_code=… part, or just the code.
Login exit codes
Login exit codes
Step 3 — Register your agent with egma connect
The wizard handles agent registration as part of its flow, but you can run it separately — useful for headless environments or registering an agent without running the full wizard.
- Text — Egma exchanges messages with your agent. No phone call, nothing dialled. Exercises the prompt, reasoning, and tools.
- Phone — Egma dials one of your agent’s numbers over the telephone network. Exercises the full speech stack and the carrier path as well.
Egma creates the one connection type you choose and never both. If you want both, run
egma connect twice and choose a different reach each time. The second run reuses the same agent registration and adds the new connection to it.Connect exit codes
Connect exit codes
Step 4 — Initialize the test folder with egma init
Egma stores your tests as Markdown files in your repository. egma init creates the folder structure:
Step 5 — Generate your first test suite
Back in the full wizard flow, once your agent is connected and the folder is initialized, the wizard asks your coding agent to read your repository — the prompt, tools, and framework — and write a first suite of tests intoegma/tests/. Tests arrive one file at a time on screen while the coding agent works.
If you already have test cases written down in a spreadsheet or document, pass the path and the wizard converts them first:
[e] to open any test in $EDITOR before committing to the run. Press [q] to exit with all files saved to your repository — you can push and run them later with egma push and egma run.
Step 6 — Run tests with egma run
Press [enter] in the wizard, or run the command directly after pushing your tests:
egma run output:
Run exit codes
Run exit codes
Pass
--no-follow to start a run and return immediately without waiting for verdicts. The run carries on on Egma and you can read results in the dashboard at the URL printed on the results: line.Keeping tests in sync
After the first run, usepull and push to keep your local files and Egma in step:
egma push refuses when Egma holds a newer version than your local file, naming each conflict. Run egma pull first, review what changed, then push again.
What to read next
CLI Reference
Every command, option, and exit code — including
egma self-host for running your own instance.Self-Hosting
Run Egma on your own infrastructure with Docker Compose.