Skip to content
Install & updating

Install & updating

#Install

bash
npm install -g @clauderecallhq/cli
recall index          # one-time scan of ~/.claude/projects/
recall start          # daemon: live tab tracking + web UI

The npm package ships the CLI and the MCP server. Same install, both surfaces.

#Updating

recall update has two modes.

bash
recall update --global   # install the latest PUBLISHED package
recall update --local    # rebuild a SOURCE CHECKOUT
recall update            # auto: checkout -> local, anything else -> global

Shared 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 installedWhat --global runs
npm (incl. nvm/fnm/volta)npm install -g @clauderecallhq/cli@latest
pnpmpnpm add -g @clauderecallhq/cli@latest
yarnyarn global add @clauderecallhq/cli@latest
bunbun add -g @clauderecallhq/cli@latest
Claude Code pluginnpm, with a warning that /plugin is the real fix
anything unrecognisednpm, 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:

bash
recall update --local
#  git pull --ff-only
#  npm run build
#  recall stop && recall start

It 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:

bash
recall stop && recall start

Local 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

bash
recall stop
npm uninstall -g @clauderecallhq/cli

That leaves ~/.recall/ in place. Delete it too if you want the index gone.

Last updated