Every file a running chamber creates, where it lives, and whether it is safe to commit or sync.
File Created by Persists across runs Sync-safe? Purpose
cryo.tomlcryo inityes yes Project configuration.
plan.mdcryo init or youyes yes The plan the agent reads each session.
NOTES.mdcryo inityes yes Agent’s persistent cross-session memory.
.gitignorecryo inityes yes Ignores runtime files, notably .cryo/ (so .cryo/zuliprc is not committed).
timer.jsoncryo startno no Runtime state: session number, PID lock, CLI overrides.
todo.jsonfirst cryo-agent todo add no no Per-project TODO list and scheduler source of truth.
cryo.logdaemon no no Append-only structured event log.
cryo-agent.logdaemon no no Agent stdout and stderr, including raw tool-call output.
messages/inbox/local writers and sync daemons no no Incoming messages waiting for the agent.
messages/inbox/archive/daemon on receive no no Processed inbox messages.
messages/outbox/agent and daemon no no Outgoing messages waiting for delivery.
messages/outbox/archive/sync daemons no no Outbox messages already delivered remotely.
.cryo/cryo.sockdaemon no no Unix domain socket for agent-daemon IPC.
File Created by Persists across runs Sync-safe? Purpose
zulip-sync.jsoncryo-zulip inityes yes Zulip sync state: site, stream, stream ID, last-imported message.
.cryo/zuliprccryo-zulip inityes no - contains API key Zulip credentials. Never commit, push, or sync this file. cryo init writes a chamber .gitignore that ignores .cryo/, so this file is gitignored in chambers scaffolded by cryo init; if you added the chamber before that or manage .gitignore yourself, make sure .cryo/ is ignored.
cryo-zulip-sync.logcryo-zulip syncno no Zulip sync daemon log.
File Created by Purpose
~/Library/LaunchAgents/com.cryo.*.plistcryo start on macOSlaunchd service definition.
~/.config/systemd/user/com.cryo.*.servicecryo start on Linuxsystemd user service definition.
Set CRYO_NO_SERVICE=1 before cryo start to skip OS service install and run the daemon as a plain background process instead.