Getting started
1. Install the CLI
npm install -g @appetize/cli
appetize --versionNode 22 or later is required.
2. Set your API token
Create a token in your organization settings and export it:
export APPETIZE_API_TOKEN=tok_xxxxxxxxxxxx3. Install the skill for your AI agent
appetize skill installThe skill is installed for each agent whose directory is already in your project: Claude Code reads .claude/skills, and Codex, Copilot and Cursor read .agents/skills. When neither is found, both are written.
appetize skill install --scope user # install in your home directory
appetize skill install --agent claude --agent cursor # choose the agents yourselfIt teaches the session lifecycle, how to match elements by test id and text, when to inspect and when to screenshot, and how to wait on an element instead of sleeping.
4. Give your agent a task
Ask for something that needs the app running, and name the device and build if you care which:
Run build
b_a1b2c3on a Pixel 7, tap through to the checkout screen and screenshot it.
The agent will find a target with appetize build list, start a session, inspect the screen to locate elements, act through selectors, screenshot each meaningful step, and stop the session when it's done.
5. Drive it yourself
The same commands, by hand:
session start prints the session as JSON: the id, the streaming host and the log paths. Everything after it acts on that session, so there is no id to pass. For anything not shown here, appetize --help lists every command and appetize <command> --help prints its flags and examples.
To have your agent write Playwright tests from what it finds, see Have an agent write Playwright tests.
Environment variables
APPETIZE_API_TOKEN
tok_…
Authorizes uploads, listings and session targets
APPETIZE_ENDPOINT
An Appetize URL
Used when --endpoint is omitted
Common failures
APPETIZE_API_TOKEN must be set
Export a token from your organization settings.
No active sessions
Start one; if one should be live, daemon.log says why it exited.
Multiple active sessions; specify --session-id
Pass the id of the session you mean.
No session found for id X
That session ended, or the id is wrong. session start prints the id it created.
Session is not ready
The start hasn't finished; the phases logged by session start say how far it got.
No video recording in progress
recording stop ran without a recording start.
Element not found
Inspect again. It is off screen, covered, or the screen changed.
Last updated