Local and remote
How the mode is chosen, and what moves when you switch.
rememd picks between local and remote based on this order (highest priority first):
REMEMD_MODEenvironment variable -localorremote. Always wins when set. Useful for one-off overrides.~/.recall/modefile - written byrememd joinandrememd mode set. Survives app restarts, the agent-spawned subprocesses, and shell-env drift.- Default: local.
Switching modes
Via CLI:
rememd mode show # print current mode + where it came from
rememd mode set remote # persist remote
rememd mode set local # persist local
Via one-shot env var:
REMEMD_MODE=local rememd open # use local for this invocation only
Via rememd join:
rememd join automatically persists mode = remote after a successful join, so you don't need a second command.
Why persistence matters for your agent
When an agent spawns the MCP server as a subprocess, it inherits the environment of whatever shell started the agent. If your mode lives only in a shell rc file, the agent processes can silently write to a different mode than the app does. The persisted ~/.recall/mode file plus the explicit env block in the agent's MCP config (written by the first-launch configurator) eliminate that class of surprise.
Local data is never deleted by remote mode
If you use remote for a month and then run rememd mode set local, your old ~/Recall/ tree is still there, exactly as you left it. Remote and local use different storage paths (~/Recall/ vs ~/.recall/cache/), so they don't stomp on each other.