Sessions, lanes, checkpoints and rewinds
A session is a durable conversation bound to one repository path. It outlives the process that opened it. You can archive a session to hide it from a listing. The transcript stays queryable and exportable. A lane is a parallel track inside a session. The main lane carries your own conversation. Other lanes carry delegated work and side conversations. Plain output shows the main lane alone. The
--json output carries every lane and tags each line with its lane id.
A checkpoint is a restore point of your working tree. Narya keeps checkpoints in a shadow git repository beside your checkout, never in your own history. Checkpoints are permanent, and no timer removes them.
A rewind moves a session back across the conversation, the files, or both. A rewind always branches and never deletes. Narya first turns the tree as it stands into its own restore point. The scope has no default, so you must state which of the three you mean.
The clients Lerian ships
Run
narya with no arguments to open the interactive client. The client needs a terminal on both standard input and standard output. Add --tui for the full-screen layout or --no-tui for the inline layout. Add -s <session-id> to resume a session.
Run narya -p "<prompt>" for one turn and one answer. This is the shape a pipeline uses.
Every command accepts --json.
One API, any client
Both shipped clients drive one HTTP API. The host serves it over a Unix socket in your Narya home, and it carries the work: sessions, lanes, messages, permissions, schedules and workflows. The terminal client drives it. The one-shot command drives it too, whenever a host answers on the socket. A client you write against the same contract reaches the same operations. The host API describes the transport, the event stream and the envelopes.
Where Narya keeps your data
Narya writes to
~/.config/narya by default. Set NARYA_HOME to move that root somewhere else. Narya creates the directory with 0700 permissions.
The root holds the SQLite store, the local socket, your config.toml and your permission rules. It also holds the credentials directory, the per-session spill and media directories, and the log file.
What Narya reads from your existing setup
Narya reads Claude Code’s own formats without any change: agents, skills and commands under
~/.claude, and the hooks table of ~/.claude/settings.json. It reads the same resources from a repository you trust.
MCP tool servers plug in through config.toml.
How you get Narya
Lerian delivers Narya to licensed customers. Contact your Lerian account team for access.
Read next
Run Narya
The host, the login service, sessions and the health commands.
Models and credentials
The three model suppliers, where your key comes from, and what leaves your machine.
Permissions and trust
The trust question, the rule format, and the audit you read back.
Automation and CI
One-shot runs, exit codes, schedules and workflows.
Extending Narya
Tool servers, confined scripts, the host API, agents and hooks.
The host API
One contract for every client: socket, event stream, envelopes.

