# CLI and development checks

## Requirements

The client requires Node.js 22 or newer and has no build step. Non-interactive commands return a stable JSON envelope with `--json`.

Claude Code **2.1.223** added [session UUID lookup across projects](https://code.claude.com/docs/en/sessions#resume-a-session). Unlose requires that version or newer for `continue` when the physical working directory maps to a different Claude project than the transcript, such as a workspace recorded through a symlink. Unlose checks this before restoring or launching; ordinary same-project `continue` only requires the native `--resume` flag.

## Commands

```sh
node src/cli.js help --json
npm test
node --check server/server.js
node --check server/public-site.js
npm pack --dry-run
```

## Safe tests

Tests use temporary Claude, Codex, and Unlose roots. Never run restore, fork launch, or forced replacement against real agent state during a test.

