Skip to main content

Commands

The CLI is the lily command (also available as pathvela). This page is the accurate, hand-checked reference for the commands the shipped binary actually runs.

Every invocation has the same shape:

lily [global options] [command] [arguments]

With no command, lily opens the interactive terminal UI. The global options (like --cwd and --provider) go before the command.

Running the agent

CommandWhat it does
lilyOpen the interactive terminal UI for a back-and-forth session.
lily run "<message>"Ask one thing, print the answer, and exit.

The agent works in your current folder, so cd into the project you want it to see first:

cd ~/code/my-app
lily run "Explain what this repository does and where it starts."

lily run in scripts and pipelines

run is built for automation as well as quick questions:

  • Pipe input in. If you omit the message, the prompt is read from stdin. If you pass both a message and piped input, the input is attached to the message:

    git diff | lily run "Review this change and flag anything risky."
    
  • --json emits a single machine-readable JSON result instead of streaming text — handy when a script needs the answer and the usage figures together.

  • --ndjson emits newline-delimited JSON events as the response streams, so a wrapper can react to tool calls and tokens live.

--json and --ndjson are mutually exclusive. With neither, run streams plain text to your terminal.

In the CLI, run works with a read-only tool profile — it can read files, search, and run read-only commands, but the interactive UI (lily) is where the agent makes changes.

Resuming a session

--resume picks up an earlier conversation:

lily --resume            # list your recent sessions
lily --resume <id>       # resume a specific one by id or name

A local, private web session

lily web runs the agent behind a small local web page and opens it in your browser:

lily web

Everything stays on your machine — the page, the agent, and your files are all local (http://127.0.0.1:<port>/, on a loopback address that's never exposed to the network). It works in the folder you run it from; use --folder <path> to point it elsewhere, --port <n> to choose the port, or --no-open to print the address instead of launching a browser.

Managing your key

CommandWhat it does
lily key set [<key>]Store your API key on this machine.
lily key statusShow whether a key is stored, and your account and balance.
lily key clearForget the stored key.
lily key set sk-lily-...
lily key status

If you run lily key set with no key, it reads the key from stdin — which keeps it out of your shell history. Keys come from the developer console at platform.pathvela.com; see Your Pathvela account.

Models

CommandWhat it does
lily model listList the model names you can pass to --provider/the SDK.

Add --json for machine-readable output or --verbose for more detail. The tiers are poolot-standard (default), poolot-pro, poolot-vision, and poolot-mini — see model tiers.

Auto mode (the bridge)

Auto mode keeps the agent running in the background so your Pathvela browser tab can reach it. It's opt-in.

CommandWhat it does
lily bridge installRegister auto mode so the agent starts on login.
lily bridge statusReport whether the bridge is running and auto mode is installed.
lily bridge stopStop the background agent now.
lily bridge resetStop it and revoke pairing (forces re-pairing next time).
lily bridge uninstallRemove auto mode entirely.
lily bridge logPrint the bridge log.

To run the bridge scoped to a specific folder, pass --folder:

lily bridge --folder ~/code/my-app

See Auto mode for how pairing and the browser connection work.

The background server

The agent runs a background server for itself and starts it on its own when needed — you don't launch it. Two commands let you manage its lifecycle:

CommandWhat it does
lily server reloadHand live sessions to a freshly started server on the newest binary.
lily server stop --forceStop the running server (drops in-flight sessions, so it requires --force).

Editor integration

CommandWhat it does
lily acpRun as an Agent Client Protocol (ACP) adapter over stdio, for an editor extension.

You don't usually run this by hand — an editor extension launches it for you.

Global options

These go before the command and apply across the CLI:

OptionWhat it does
-p, --provider <auto|poolot>Which backend to use. Both resolve to Pathvela; auto is the default.
-C, --cwd <path>Set the working directory for the agent.
--resume [<id>]Resume a session (or list sessions with no id).
--quietSuppress non-error status output — useful in scripts.
--no-updateSkip the automatic update check for this run.
--versionPrint the version, e.g. lily 0.1.35 (abc1234).
--helpShow help.

Help

lily --help            # top-level help
lily <command> --help  # help for a specific command

This page is the checked reference; if the built-in --help and these docs ever disagree, trust the docs.

Next

  • Auto mode — background operation, pairing, and the browser connection.
  • Configuration — where the key and state live, and the environment variables the CLI reads.
  • Updating — how the CLI keeps itself current.