Nessie daemon

The Nessie daemon is a headless Linux ingestion process for remote agent machines. It lets a server, VM, container, or cloud agent workspace push local Claude Code, Codex, and Hermes sessions into Nessie without running the macOS app UI.

Install the npm package:

npm install -g @nessielabs/daemon@latest

The package installs the nessie-daemon binary.

What it ingests today

  • Claude Code history under ~/.claude/projects
  • Codex sessions under ~/.codex/sessions
  • Hermes conversations

The daemon pushes local agent sessions into Nessie. It does not pull your cloud library down to the remote machine.

Choose one setup path

1. Interactive setup

Use this on a long-running Linux machine where you can complete a browser/device sign-in flow:

nessie-daemon setup
nessie-daemon status

nessie-daemon setup signs in, detects local Claude Code, Codex, and Hermes history directories, lets you choose which sources to ingest, and can install and start a user systemd service.

2. API-key setup

Use this when the machine should be configured automatically, such as a remote VM, container, CI-style worker, or hosted cloud agent workspace:

export NESSIE_API_KEY=sk_nes_v1_...
mkdir -p "$HOME/.claude/projects" "$HOME/.codex/sessions"
nessie-daemon setup --api-key "$NESSIE_API_KEY"
nessie-daemon start
nessie-daemon status

Create the API key in the Nessie Mac app → Settings → API keys, then store it as an environment secret in the remote environment. nessie-daemon setup --api-key skips the interactive sign-in loop and automatically configures its supported sources, including Claude Code, Codex, and Hermes. The mkdir -p line helps fresh workers pass source detection before the first Claude Code or Codex session creates those folders.

You do not need one API key per worker or session. Reuse the same API key when several short-lived workers should be grouped together under one API-key source group in Nessie. Use separate API keys when the workers should be tracked separately.

Nessie redacts common credential shapes before synced content is stored. See Secret redaction.