Skip to content

Updating

  1. Back up your data: snippbot reset --list-backups — or manually copy ~/.snippbot/
  2. Check the changelog for breaking changes
  3. Stop the daemon before upgrading

The recommended way to upgrade is the built-in snippbot upgrade command. It resolves the latest version from PyPI’s JSON API (which is never stale, unlike pip’s cached simple index), stops the daemon, and installs with cache-busting — so you don’t have to remember the right pip/pipx flags:

Terminal window
snippbot upgrade # Upgrade to the latest version
snippbot upgrade --check # Just check whether a newer version exists
snippbot start # Restart the daemon

It auto-detects whether you installed via pipx or a pip virtualenv and runs the right command for you. See the snippbot upgrade reference for all options.

If you prefer to run the package manager yourself:

Terminal window
# Stop the daemon
snippbot stop
# Upgrade (add --pip-args=--no-cache-dir if pipx serves a stale version)
pipx upgrade --pip-args=--no-cache-dir snippbot
# Restart
snippbot start
Terminal window
snippbot --version
snippbot status
curl http://localhost:18781/health
snippbot doctor

Snippbot applies database migrations automatically on startup. If a migration fails:

Terminal window
# Check logs for migration errors
tail -50 ~/.snippbot/logs/daemon.log | grep -i migrat
# Restore from pre-upgrade backup if needed
snippbot reset --list-backups
snippbot reset --restore <backup-name>

If the new version has a critical bug, roll back by pinning an older version:

Terminal window
# Easiest — let snippbot upgrade pin the version for you
snippbot upgrade --version 0.4.1 --yes

Or run the package manager directly:

Terminal window
# pipx — reinstall pinned to a specific version
pipx install snippbot==0.4.1 --force
# pip (venv) — install a specific version
~/.snippbot-venv/bin/pip install snippbot==0.4.1

Always restore from a pre-upgrade backup when rolling back to avoid schema mismatches:

Terminal window
snippbot stop
snippbot reset --restore pre-upgrade-<timestamp>
snippbot start