Quickstart
From install to your first briefing. Five steps, one optional.
1. Install the CLI
uv tool install 'daimon-briefing[pretty]'
pipx install 'daimon-briefing[pretty]' works identically. The [pretty]
extra adds rich tables and panels to status and brief; without it you get
plain text.
2. Connect an LLM
Serialization — turning a finished session into a checkpoint — needs an LLM endpoint. Run:
daimon configure
If the claude CLI is on your PATH, this prints ✓ ready and you are done —
zero configuration. Otherwise, point daimon at any OpenAI-compatible endpoint:
daimon configure --backend litellm \
--base-url https://generativelanguage.googleapis.com/v1beta/openai \
--api-key <YOUR-KEY> --model gemini-2.5-flash
Then verify the backend end-to-end before trusting it:
daimon configure --test
This sends one tiny prompt through the resolved backend and reports pass or
fail. Config is written to ~/.daimon/env — see
Configuration for every variable, and the
backends matrix for field-measured model
combinations.
3. Hook up your host
Hooks are what capture your sessions. For Claude Code, install the plugin — it registers the session hooks itself:
/plugin marketplace add Daily-Nerd/daimon
/plugin install daimon@daimon
For Windsurf, Codex, or Gemini CLI, follow your host's page in Hosts — each host has a different hook surface, and the per-host guides cover the exact registration steps and caveats.
4. Teach your agent the protocol (optional, recommended)
Hooks capture sessions; the skill teaches the agent on the other side how to
use the briefing — read it at session start, treat verbatim items as
immutable quotes, verify stale-looking claims before repeating them:
daimon skill install claude
daimon skill list shows the install targets for other hosts. Run daimon skill install with no host to let daimon detect what this machine runs, or daimon skill install --all to wire every host it finds without being asked.
5. End a session, start the next
That's the whole loop:
- Work a normal session in your agent.
- End it. The session-end hook serializes a checkpoint in the background.
- Start the next session. The briefing is injected at session start:
While you were away — here's where we left off.
Decisions made:
- [✓ verbatim] Postgres advisory locks over Redis locks for the scheduler — "let's not add a Redis dependency for this"
VERIFY BEFORE TRUSTING (state may have changed outside this session):
- [✓ verbatim] PR #212 state — you said you'd merge it yourself from the UI — "I'll merge it after the demo"
Open loops:
- [✓ verbatim] Retry policy for the payments webhook — exponential or fixed? — "don't ship the retry loop until we pick a policy"
Active topic: Migrating the scheduler off cron to the new worker pool
[✓ verbatim] means a deterministic checker found that quote in the session
transcript; [~ inferred] marks the model's own conclusions. The full
tag system is the point of the product — see Trust classes.
You can also read it in a terminal anytime with daimon brief.
A session shorter than DAIMON_MIN_MESSAGES (default: 10 messages) is not
serialized — there is nothing worth remembering in a two-message exchange.
If you are evaluating daimon and want your short test sessions captured,
lower the threshold for now:
echo 'DAIMON_MIN_MESSAGES=4' >> ~/.daimon/env
Check that it's working
daimon status
Status reports capture health honestly — failures, skips, and crashes included. The lines that matter on a fresh install:
project checkpoint: <session id>, written <n>m ago
last serialize result: success — wrote checkpoint: ...
If the last serialize failed or a session was never captured, a failed capture
self-heals on the next session start — or run daimon heal to retry
immediately.
Before you end a session
If you are leaving work unfinished, pass the baton — one imperative line the next session sees above everything else in its briefing:
daimon handoff "Finish the migration first. Beware: the staging DB is stale."
A checkpoint reconstructs what happened; the baton carries what you intended next. Full story in the item lifecycle.
Where to next
- CLI reference — every verb, one page.
- Configuration — every environment variable, including
the
DAIMON_DISABLEkill switch. - Hosts — per-host setup detail and known limitations.
- Team memory — share checkpoints with teammates through a private git remote (opt-in).