# Reference: the ori command > Neutral, exhaustive description of the `ori` server binary and its flags. ## Synopsis ```bash ori [--addr ADDR] [--cwd DIR] [--agent-cmd COMMAND] ``` At startup, `ori` spawns the agent command, performs the ACP handshake (`initialize`, then `session/new`), then serves the web application and its WebSocket endpoint. If the agent cannot be started or the handshake fails, `ori` exits with a non-zero status and an error on stderr. ## Flags | Flag | Type | Default | Description | | --- | --- | --- | --- | | `--addr` | string | `:8888` | TCP address the HTTP server listens on. The empty host binds all interfaces. | | `--cwd` | string | current directory | Working directory handed to the agent session. Must exist and be a directory; resolved to an absolute path. | | `--agent-cmd` | string | `npx -y @zed-industries/claude-code-acp` | Command spawning the ACP agent, split on whitespace (first field: executable; the rest: arguments). | ## HTTP endpoints | Route | Description | | --- | --- | | `GET /healthz` | Returns `{"status":"ok"}` with status 200. | | `GET /ws` | WebSocket endpoint of the panel; see the [WebSocket protocol reference](websocket-protocol.md). | | `GET /*` | The embedded single-page application; unknown paths fall back to `index.html`. Returns 503 if the binary was built without a UI build. | ## Example ```bash ./bin/ori --addr :9000 --cwd /work/my-project --agent-cmd "bin/ori-mock-agent" ``` ## Errors | Error | Cause | | --- | --- | | `--agent-cmd must not be empty` | The flag was set to blanks. | | `--cwd: … no such file or directory` | The working directory does not exist. | | `--cwd: … is not a directory` | The path exists but is a plain file. | | `start agent "…": …` | The agent executable could not be started. | | `initialize: …` / `new session: …` | The ACP handshake with the agent failed. | ## Companion binary: ori-mock-agent ```bash ori-mock-agent [--delay DURATION] ``` | Flag | Type | Default | Description | | --- | --- | --- | --- | | `--delay` | duration | `300ms` | Pause between streamed updates. `0s` disables pacing. | `ori-mock-agent` speaks ACP on stdio and plays one deterministic scenario per prompt: a thought, a two-entry plan, a read tool call, one permission request, and — if granted — an edit tool call with a diff and a final message.