Install & updating
#Install
npm install -g @clauderecallhq/cli
recall index # one-time scan of ~/.claude/projects/
recall start # daemon: live tab tracking + web UIThe npm package ships the CLI and the MCP server. Same install, both surfaces.
#Updating
recall update has two modes.
recall update --global # install the latest PUBLISHED package
recall update --local # rebuild a SOURCE CHECKOUT
recall update # auto: checkout -> local, anything else -> globalShared flags: --yes skips the prompt, --dry-run (-n) shows the plan
and runs nothing, recall --version confirms what you ended up on.
#Global mode
The normal one. Almost everybody wants this. Recall reads the path this copy resolved through and runs the one command that matches your package manager:
| How you installed | What --global runs |
|---|---|
| npm (incl. nvm/fnm/volta) | npm install -g @clauderecallhq/cli@latest |
| pnpm | pnpm add -g @clauderecallhq/cli@latest |
| yarn | yarn global add @clauderecallhq/cli@latest |
| bun | bun add -g @clauderecallhq/cli@latest |
| Claude Code plugin | npm, with a warning that /plugin is the real fix |
| anything unrecognised | npm, as the safe default |
--global always works, from anywhere, including inside a source
checkout. Detection picks the default; it never blocks you. Inside a checkout
it warns first that a global install will replace an npm link symlink to
your working tree, then does exactly what you asked.
#Local mode
For a clone of the repo. Pulls, rebuilds, and restarts the daemon in one step:
recall update --local
# git pull --ff-only
# npm run build
# recall stop && recall startIt refuses, before touching anything, when the checkout has uncommitted changes, when HEAD is detached, when the branch has no upstream, or when the branch has diverged from its upstream. It never stashes, because a stash pop can apply another session's work over your tree.
If there is nothing to pull, it still rebuilds and restarts. Local commits that were never built are the most common cause of "my change didn't take".
#After updating
Global mode does not restart the daemon for you, because the daemon keeps running whatever build it booted with:
recall stop && recall startLocal mode does this for you as its last step.
Your database is untouched by an update either way. Schema migrations run
automatically on the next daemon start, and ~/.claude/projects/ is never
modified.
#Not the same as recall upgrade
recall upgrade opens the Pro pricing page. recall update installs a
newer CLI build. Pro is a one-time purchase with lifetime updates, so
recall update works the same whether you are on Free or Pro.
#Uninstall
recall stop
npm uninstall -g @clauderecallhq/cliThat leaves ~/.recall/ in place. Delete it too if you want the index gone.