CLI Tools

Command-line utilities for interacting with Irrlicht.

irrlichd

The background daemon that powers Irrlicht.

Usage

irrlichd [flags]

Flags

  • --version — Print version and exit

What It Does

  • Watches Claude Code, Codex, Pi, and Aider transcripts; OpenCode's SQLite WAL; plus the Gas Town orchestrator
  • Tracks session state via deterministic state machine
  • Serves HTTP API on localhost:7837
  • Serves WebSocket stream for real-time updates
  • Advertises via mDNS (_irrlicht._tcp)
  • Listens on Unix socket at ~/.local/share/irrlicht/irrlichd.sock

Health Check

curl http://127.0.0.1:7837/state

Logs

tail -f ~/Library/Application\ Support/Irrlicht/logs/events.log

irrlicht-ls

A terminal session listing tool.

Usage

irrlicht-ls [flags]

Flags

  • -w, --watch — Watch mode — updates every second (clears screen between refreshes)

Output Format

Columns: state, project name, session ID (8 chars), model, context window, subagent badge, age. Child sessions are indented below their parent.

Example output:

working  irrlicht     52d087d1 claude-opus-4-6 1000k [3 agents: 3w/0r]  (2s ago)
  working  irrlicht     agent-a1 claude-haiku-4-5 200k  (5s ago)
  working  irrlicht     agent-a4 claude-haiku-4-5 200k  (8s ago)
  working  irrlicht     agent-ab claude-haiku-4-5 200k  (6s ago)
ready    api-server   e5f6g7h8 claude-opus-4-6 1000k  (1m ago)

Data Source

Reads session JSON files from ~/Library/Application Support/Irrlicht/instances/ and builds the same hierarchical dashboard as the API. Works independently of the daemon.

Building CLI Tools

cd core
go build ./cmd/irrlichd/     # daemon
go build ./cmd/irrlicht-ls/  # listing tool

Or use the release build script:

./tools/build-release.sh