This page is the complete reference for everyDocumentation Index
Fetch the complete documentation index at: https://docs.pome.sh/llms.txt
Use this file to discover all available pages before exploring further.
pome command. Each section covers the synopsis, available flags, exit codes, and a usage example. For global flags that apply to all commands, see the CLI overview.
pome init
pome init
Scaffold a new Pome project in the current directory. Running Flags
Exit codes
Example
pome init creates a .pome.json config file, a harness.ts (or harness.py) entrypoint, and a scenarios/ directory with one example scenario.Synopsis| Flag | Description |
|---|---|
--mode oss|hosted | Set the deployment mode. Defaults to oss. |
--language ts|python | Language for the generated harness file. The CLI auto-detects from the project if omitted. |
--force | Overwrite an existing .pome.json. Without this flag, pome init exits with code 1 if the file already exists. |
| Code | Meaning |
|---|---|
0 | Project scaffolded successfully |
1 | .pome.json already exists — re-run with --force to overwrite |
pome login
pome login
Authenticate with the hosted Pome control plane. By default, Flags
Exit codes
Example
pome login starts a local HTTP callback server and opens your browser to https://pome.sh/cli-auth. After you complete the OAuth flow, credentials are written to ~/.pome/credentials.json.Synopsis| Flag | Description |
|---|---|
--token <api-key> | Skip the OAuth browser flow and write the provided API key directly. Use this in CI environments where a browser is unavailable. |
| Code | Meaning |
|---|---|
0 | Authenticated successfully |
2 | User cancelled the browser OAuth flow |
pome logout
pome logout
Remove stored credentials. Exit codes
Example
pome logout deletes ~/.pome/credentials.json and attempts a best-effort token revocation server-side. If the revocation request fails (e.g., no network), the local credentials are still removed.Synopsis| Code | Meaning |
|---|---|
0 | Credentials removed |
pome run
pome run
Run one or more scenarios against a twin. This is the primary command in the Pome workflow. Arguments
Flags
Exit codes
Examples
pome run boots a twin, sets POME_* environment variables, launches your agent process as a child, records every tool call, evaluates the final twin state against your scenario’s success criteria, and writes run artifacts to disk.Synopsis| Argument | Description |
|---|---|
<scenario.md|dir> | Path to a single scenario file or a directory of scenario files. When a directory is given, all .md files inside are run in order. |
| Flag | Description |
|---|---|
--runs <N> | Number of times to run each scenario. Useful for measuring pass-rate consistency across multiple runs. |
--timeout <seconds> | Maximum wall-clock time allowed for each scenario run. The twin and agent process are killed if the timeout is reached. |
--seed <name|path> | Named seed or path to a seed JSON file to apply to the twin before the run. Overrides the ## Seed State section in the scenario file. |
--harness <path> | Path to the harness file. Overrides the value in .pome.json. |
--tag <tag> | Attach a tag to the run for filtering in the dashboard or pome sessions list. |
--pass-threshold <0-100> | Minimum satisfaction score (0–100) required for a scenario to count as passing. Default is 0. Exit code 1 is returned if any scenario falls below this threshold. |
--reuse-session <id> | Attach to an existing hosted session instead of provisioning a new one. Useful for debugging a specific session state. |
| Code | Meaning |
|---|---|
0 | All scenarios met --pass-threshold |
1 | One or more scenarios fell below --pass-threshold |
2 | Twin or orchestrator error (boot failure, connectivity issue) |
3 | Authentication error — run pome login or set POME_API_KEY |
4 | Quota exceeded — check your plan or run pome sessions list |
5 | Usage error — bad flags, missing files, or malformed scenario |
Run artifacts are written to
runs/<scenario-name>/<run-id>/ and include tool_calls.jsonl, state_initial.json, state_final.json, and score.json. Use pome inspect latest to view results immediately after a run.pome inspect
pome inspect
Pretty-print a run’s full trace. In OSS mode, Arguments
Flags
ExampleExample terminal output:
pome inspect reads artifacts from the local runs/ directory. In hosted mode, it fetches run metadata and downloads blobs from signed S3 URLs.Synopsis| Argument | Description |
|---|---|
<run-id> | The run ID to inspect (e.g., run_aB3kPq). |
latest | Shorthand for the most recent run in the current project. |
| Flag | Description |
|---|---|
--format json|terminal | Output format. terminal (default) renders a human-readable trace with pass/fail indicators per criterion. json emits the raw run record. |
pome export
pome export
Export a run as a Archive contents
Example
.tar.gz archive. The archive is useful for filing support tickets, sharing run artifacts with teammates, or performing offline replay analysis.Synopsis| File | Description |
|---|---|
meta.json | Run metadata — scenario name, duration, agent model, satisfaction score |
tool_calls.jsonl | Every HTTP call the agent made to the twin, with request and response bodies |
state_initial.json | Full twin state at the start of the run |
state_final.json | Full twin state after the agent finished |
score.json | Per-criterion evaluation results |
pome twin
pome twin
Boot a standalone twin in the foreground for manual exploration and debugging. This is primarily useful in self-hosted (OSS) mode when you want to poke at the twin’s API directly without running a full scenario.SynopsisSubcommands
Flags
Example
| Subcommand | Description |
|---|---|
| (no subcommand) | Boot the twin in the foreground. Press Ctrl+C to stop. |
reset | Reset the running twin’s state back to its default seed without restarting the process. |
| Flag | Description |
|---|---|
--port <number> | Port to listen on. Defaults to 3000. |
--seed <path> | Path to a seed JSON file to apply on boot. |
pome sessions
pome sessions
List or kill active hosted sessions. Use this to debug quota usage, inspect session state, or manually tear down sessions that are no longer needed.SynopsisSubcommands
Example
| Subcommand | Description |
|---|---|
list | List all active sessions for your team, with their IDs, state, and expiry times. |
kill <session-id> | Tear down a specific session early. |
kill --all | Tear down all active sessions for your team. |
pome version
pome version
Print the current CLI version. If a newer release is available, Example
pome version prints the latest version on a second line so you know to upgrade.Synopsis