recall — sync Claude Code's auto memory across machines.
One binary, both halves: recall serve runs the server, everything else
runs on a developer machine or inside a Claude Code session as a hook.
This file is only the dispatcher; each command lives in its own module,
and the reasoning about how loudly it is allowed to fail lives with it.
Where the server starts, too
This is the entry point for both halves — serve starts the HTTP
server that recall-server implements. If you came looking for where the
server process begins and expected recall-server to hold a main, this
is the file.
It was called recall-cli until the v0.1.0 release preflight found that
name taken on crates.io by an unrelated project, and recall taken too,
so it shipped as recall-sync. The recall name has since been
transferred, and this crate took it at 0.2.0 — 0.1.0 was not available
to take, because crates.io never lets a version number be reused and an
unrelated 2019 crate holds that one under this name for good.
cargo install recall-sync no longer resolves. Not because that crate
was withdrawn — it is still on the index — but because recall-paths
0.1.0, which it depends on, is yanked, and 0.1.0 was that crate's only
version. A yanked version cannot be picked by a fresh resolution, so the
install fails at the dependency rather than at the name. cargo install recall is the way in.