How-to
Upgrade your binary
Bump to a new quaid release with SHA-256 verification and a working rollback.
The upgrade skill walks an agent through this; this page is the same workflow for humans. It covers the version check, the safe-replace, and the post-upgrade validation.
Check what you have
Section titled “Check what you have”quaid versionquaid statsNote the binary version and the schema version on the memory (schema_version in quaid_config, currently 6).
Find the new release
Section titled “Find the new release”# Latestcurl -fsSL https://api.github.com/repos/quaid-app/quaid/releases/latest | jq -r '.tag_name'
# Or pinQUAID_VERSION=v0.10.0Read the release notes before upgrading. Schema bumps require a migration window.
Re-run the installer
Section titled “Re-run the installer”The shell installer is the supported upgrade path:
curl -fsSL https://raw.githubusercontent.com/quaid-app/quaid/main/scripts/install.sh \ | QUAID_VERSION=v0.10.0 shIt:
- Downloads the matching asset for your platform.
- Verifies the SHA-256 checksum.
- Stages a tempfile in the install directory.
- Atomically renames it over the existing
quaidbinary. - Runs
quaid versionto confirm.
If you installed manually, repeat the manual steps:
ASSET="quaid-darwin-arm64-airgapped"VERSION="v0.10.0"curl -fsSL "https://github.com/quaid-app/quaid/releases/download/${VERSION}/${ASSET}" -o "${ASSET}"curl -fsSL "https://github.com/quaid-app/quaid/releases/download/${VERSION}/${ASSET}.sha256" -o "${ASSET}.sha256"shasum -a 256 -c "${ASSET}.sha256"chmod +x "${ASSET}"mv "${ASSET}" ~/.local/bin/quaidStop the MCP server first
Section titled “Stop the MCP server first”If quaid serve is running (under Claude Code, Cursor, or anywhere else), stop it before swapping the binary:
- macOS: quit Claude Code entirely, then upgrade.
- Linux:
pkill quaid(or quit the parent process).
The atomic mv is safe even with the binary in use, but the running process keeps the old version until restarted. Cleaner to stop, swap, restart.
Validate post-upgrade
Section titled “Validate post-upgrade”quaid version # should show new versionquaid validate --db ~/.quaid/memory.db # all integrity checksquaid stats --db ~/.quaid/memory.db # confirm schema_versionquaid skills doctor # confirm embedded skills updated correctlyquaid query "any test query" --db ~/.quaid/memory.db # smoke testIf any check fails, stop and roll back. Don’t try to fix forward; the release notes will tell you whether the failure is expected (e.g. a schema migration that needs manual approval) or a regression.
Roll back
Section titled “Roll back”If you kept the previous binary or you can re-download it from the GitHub releases page:
# Reinstall the previous versioncurl -fsSL https://raw.githubusercontent.com/quaid-app/quaid/main/scripts/install.sh \ | QUAID_VERSION=v0.9.7 sh
quaid version # confirmMemory databases written by a newer version may carry forward-incompatible state (a future schema, an unrecognized config row). Rolling back works cleanly if no migration ran; if a migration did run, restore your ~/.quaid/memory.db backup (or the custom path from QUAID_DB / --db).
Schema migrations
Section titled “Schema migrations”When the schema version bumps:
- The release notes will say so explicitly.
- The first command run against an old memory will refuse to proceed — no implicit migrations.
- Use
quaid validatefirst (it’ll surface what needs to change). - Then run the documented migration.
We don’t auto-migrate. Auto-migrations are how databases die.
Skill upgrades
Section titled “Skill upgrades”When the binary upgrades, the embedded skills upgrade with it. Your overrides at ~/.quaid/skills/ and in working directories survive — they always win. quaid skills doctor shows you whether your override is now diverged from the new embedded default; review and decide whether to refresh.
Embedding model upgrades
Section titled “Embedding model upgrades”A binary upgrade does not change the embedding model recorded in your memory. Switching models requires the export/import dance — see Switch embedding models.