Code

Command Line Reference

aivoryd is the daemon and its command line. aivory is the desktop app. Run aivoryd --help or aivoryd <command> --help to see the same information in your terminal.

  • Sessions: list, show and resume
  • Daemon: serve, call and push
  • Themes: theme and registry
  • Repos: map

Global Options

These options work with every aivoryd command.

Option Meaning
--claude-home <DIR> Claude home directory (default: ~/.claude). Environment: AIVORY_CLAUDE_HOME
--codex-home <DIR> Codex home directory (default: ~/.codex). Environment: AIVORY_CODEX_HOME
--gemini-home <DIR> Gemini home directory (default: ~/.gemini). Environment: AIVORY_GEMINI_HOME
--cache-file <FILE> Scan cache file (default: per-user cache directory)
--no-cache Do not read or write the scan cache
-h, --help Print help
-V, --version Print the version

Sessions

aivoryd list

List the native sessions on this machine, newest first.

aivoryd list --provider claude --limit 10
Option Meaning
--provider <PROVIDER> Show one provider only
--cwd <CWD> Only sessions in this directory or below it
--limit <LIMIT> Show at most this many sessions
--json Print JSON

aivoryd show

Print one session as JSON. Give a session id or a unique id prefix.

aivoryd show <ID>

aivoryd resume

Resume a session with the native CLI and print the normalised events as JSON lines.

aivoryd resume <ID> --prompt "Run the tests"
Option Meaning
--prompt <PROMPT> The prompt to send (required)
--provider <PROVIDER> The provider
--model <MODEL> The model
--raw Print events that the parser does not map
--extra-arg <ARG> Extra argument for the CLI. Repeat it for more arguments

Daemon

aivoryd serve

Serve JSON-RPC 2.0 (newline-delimited JSON) on a named pipe or Unix socket.

aivoryd serve --scope ~/projects/shop
Option Meaning
--endpoint <ENDPOINT> The endpoint name (default: default)
--demo Serve the war room on the demo data (no real sessions)
--scope <SCOPE> Show only sessions whose working folder lies below this folder
--remote <REMOTE> Serve the phone app over WebSocket on this address, for example 0.0.0.0:7420
--iroh Serve the phone app over iroh (QUIC with hole punching and a relay), also outside the local network. Can run next to --remote and --demo
--relay <URL> Relay for --iroh: a URL, default for the iroh relays, or none for direct paths only. Environment: AIVORY_RELAY
--push-url <URL> URL of the push gateway for the sealed phone push. Without a URL, there is no push. Environment: AIVORY_PUSH_URL

aivoryd call

Call one JSON-RPC method of a running daemon and print the messages.

aivoryd call <METHOD>

aivoryd push key

Print the SHA-256 of the daemon key for the allow list of the push gateway. The command creates the key file push.key next to iroh.key when it is missing.

aivoryd push key

Themes

See Make a Theme and Publish and Install Themes for the workflow.

aivoryd theme

Command What it does
aivoryd theme init <ID> [--from <THEME>] Make a starter folder ./<ID> from Minimal, or from an installed theme
aivoryd theme add <SOURCE> Download a theme (github:<owner>/<repo>[@tag] or a GitHub link), check it, and install it
aivoryd theme list Show the installed themes, their source, version and local changes
aivoryd theme diff <ID> Show the local edits and the upstream changes of a theme
aivoryd theme update <ID> Update a theme at file level. An edited file stays and gets <file>.upstream
aivoryd theme remove <ID> Remove a theme. The current theme falls back to Minimal
aivoryd theme check [DIR] Check a theme folder. Without a folder, ask the source of each installed theme for a newer version
aivoryd theme pack <DIR> Make <id>-<version>.aivory-theme.zip from a theme folder and print its SHA-256
aivoryd theme dev <DIR> Check a theme folder on each save and print the errors

aivoryd registry

Command What it does
aivoryd registry build <DIR> Make registry.json and the item archives from a theme repo with registry.toml
aivoryd registry add <NAME> <URL> Add a registry, for example aivoryd registry add @someone https://someone.github.io/aivory/registry.json
aivoryd registry list List the registries and their items
aivoryd registry remove <NAME> Remove a registry

Repos

aivoryd map

Write or print the part map of a repository (.aivory/map.toml).

Command What it does
aivoryd map init <REPO> Guess a first .aivory/map.toml from the top folders of a repository
aivoryd map show <REPO> Print the parts of a repository map as JSON

The Desktop App

Command What it does
aivory Start the desktop app. It starts aivoryd when no daemon runs
aivory --demo Serve the demo data in the app. You need no daemon
aivory --demo --demo-rich Show sample transcripts with markdown, diffs and todos
aivory --endpoint <NAME> Use a daemon endpoint with this name

Set AIVORY_DEMO_SESSIONS=<n> to show exactly n live sessions in demo mode.


Next Steps