Monitor and message a chamber
There are three ways to monitor a chamber and exchange messages with the agent. Cryohub is the primary monitor; GitHub Discussions and Zulip add remote and mobile access.
You can run all three together. Cryohub is local-only by default; the sync channels reach the same chamber from the outside.
Cryohub (primary, recommended)
Cryohub is a global web dashboard that manages every chamber registered on this machine. It can be started and stopped from any directory.

Start the hub
cryohub start
cryohub start --foreground
cryohub prints the local dashboard URL. Open it in a browser.
Use the dashboard
- Sidebar - every registered chamber, sorted by running state and name. Each row shows a status dot and an unread-message badge.
- Main pane - full detail for the selected chamber: status, current task, next wake time, notes, message history, log tail, and a send widget. Lifecycle buttons, Start, Stop, Restart, and Wake, sit next to the status.
- New Chamber modal - scaffolds a chamber under the configured chamber root,
~/.cryo/chambersby default.
Stop the hub
cryohub stop
cryohub status
Use cryohub status to confirm the service state and see the configured URL, chamber root, config path, and log path.
Security
The default bind address is 127.0.0.1, so the dashboard is only reachable from the local machine.
Warning: Passing
--host 0.0.0.0exposes lifecycle actions over the network without authentication. Cryohub prints a warning when you do this. Do not use0.0.0.0on a shared or untrusted network. Token authentication is future work.
For chamber discovery internals, see Concepts. For full configuration fields, see cryohub.toml.
GitHub Discussions (remote)
cryo-gh bridges a chamber with a GitHub Discussion. Comments on the Discussion become inbox messages for the agent; outbox messages from the agent appear as new comments on the Discussion.
Prerequisites
- The GitHub CLI,
gh, installed and authenticated withgh auth login. - A GitHub repository where you have write access.
- An initialized cryochamber project. See Tutorial if you do not have one.
Set up
cryo-gh init --repo owner/repo
cryo start
cryo-gh sync
cryo-gh status
Both daemons run as OS services and survive reboots. Logs go to cryo-gh-sync.log. Use cryo-gh sync --interval N to override the default 5-second poll interval.
Use it
Post a comment on the Discussion and it appears in messages/inbox/ within the poll interval. When the agent sends an outbox message, cryo-gh posts it back to the Discussion within seconds.
Stop
cryo-gh unsync
Rate limits
gh counts against the authenticated GitHub API quota of 5,000 requests per hour. At the default 5-second interval, sync makes about 720 requests per hour. If you run many chambers, raise --interval.
For the full command list, see CLI reference.
Zulip (remote)
cryo-zulip bridges a chamber with a Zulip stream and topic.
Prerequisites
- A Zulip server with a bot account.
- A
zuliprcfile with bot credentials: an INI file whose[api]section containsemail,key, andsite. - A Zulip stream the bot can read and post to.
- An initialized cryochamber project.
Set up
cryo-zulip init --config ~/.zuliprc --stream my-stream
cryo start
cryo-zulip sync
cryo-zulip status
Optional flags for init: --topic <name>, default cryochamber, and --history to import existing stream messages on the first pull.
Warning: Do not commit, push, or sync
.cryo/zuliprc- it holds your bot’s API key. The file is gitignored by default; never include it in messages or sync payloads.
Use it
Post a message in the configured topic and it appears in messages/inbox/ within the poll interval. The bot’s own messages are filtered to avoid echo loops. Outbox messages from the agent appear in the topic within seconds.
Stop
cryo-zulip unsync
For the full command list, see CLI reference.
Run multiple monitors together
Cryohub, cryo-gh sync, and cryo-zulip sync are independent daemons. They all read and write messages/inbox/ and messages/outbox/ for the same chamber, so:
- A message posted on GitHub appears in Cryohub’s history after the next poll and can wake the agent.
- A message sent from Cryohub’s send widget gets pushed to GitHub or Zulip by whichever sync daemons are running.
There is no extra configuration to combine them. Start the monitors you want.
For the underlying inbox/outbox bridge model, see Concepts.