Skip to content

Updating

Filipe Soares edited this page Oct 8, 2026 · 2 revisions

Updating

Knowing there is an update

MemAI checks GitHub for new releases on its own, at most once a day:

  • A session that starts behind is told which version it runs, what each newer release changed, and the commands to update.
  • The version mark in the dashboard's top bar shows how many releases are newer and opens Releases, the full history with breaking changes highlighted.
  • memai-hook install --check prints the same comparison.

Check now in the Releases view asks immediately, and Check every sets the interval (an hour to a week). Set MEMAI_UPDATE_CHECK=0 in the environment the host runs in to turn the request off.

Which update is it?

flowchart TD
    pull["git pull"] --> q{"did pyproject.toml or a lock file change?"}
    q -- no --> src["Source only<br/>no pip install"]
    q -- yes --> env["Environment moved<br/>pip install needed"]
Loading

Source only — the common case

The install is editable, so a pull already changes what the next server runs.

  1. git pull
  2. memai-hook install --check, then reinstall what it reports outdated (install, install --skills, install --agents)
  3. stop the dashboard (memai-admin --stop, or stop-admin.bat) and restart the hosts

Important

Stop the dashboard, not just the hosts. It is its own process and outlives every session. Left running, it keeps the old code and writes the store with it, which can undo a schema change the new code applied.

Environment moved — a dependency, a console script or Python changed

Caution

Never pip install while a MemAI server is running. Windows locks memai-mcp.exe while a host runs it, and pip leaves the environment half-written: every host after that fails to start the server.

  1. stop-mcp.bat and stop-admin.bat, then close every host (Claude Code sessions, the desktop app)
  2. update.bat — pulls and runs install.bat (elsewhere: git pull, then .venv/bin/pip install --no-deps -e . and .venv/bin/pip install --require-hashes -r requirements-dev.txt)
  3. memai-hook install --check, and reinstall what it reports outdated
  4. reopen the hosts

install.bat and update.bat refuse to start while a server or dashboard still runs from this checkout. They list what is open and offer to close it.

The dashboard checks its build on start: when the sources differ from the ones the build was stamped with, it rebuilds, so a pull that only touched the front end needs nothing else. Without npm, it takes this version's prebuilt dashboard from the release instead.

Clone this wiki locally