How Updates Work
ARI is built to evolve. You can pull the latest updates from GitHub and get new features, bug fixes, and security patches — without losing any of your custom work.
When you update ARI, core application files and everything inside modules-core/ are overwritten with the latest version. This keeps your installation current and secure. The modules-core directory should be treated as read-only. Never edit files directly in modules-core/ — any local you make directly to modules in modules-core will be lost on the next update.
Where to Place Your Custom Modules
Your custom modules should be placed in modules-custom/. That directory is yours — ARI will never modify or overwrite anything in it. This is your space to extend ARI however you want, and it's fully protected from updates. Keep your customizations in modules-custom and you can update ARI with confidence.
Summary
| Directory | Managed By | Survives Update |
|---|---|---|
modules-core | Upstream | No |
modules-custom | You | Yes |
Backup Before Updating
Before pulling an update, make sure you have a recent backup of ALL ARI files and database:
- All files
- Your
modules-custom/directory - Your
.env.localconfiguration file. - Your database (use ARI's built-in backup feature under Settings, or export directly from your database interface).
- Any uploaded files stored in the
data/directory.
Updates are designed to be non-destructive, but regular backups are always important.
How to Update
Option 1: Update Using Claude
If you use Claude Code, type /ari-update in your Claude Code session. This is useful because Claude provides a fully interactive upgrade process:
- Adds the upstream remote if missing
- Fetches the latest changes
- Shows you what's new before merging
- Merges after your confirmation
- Runs post-update tasks: dependency installs, new SQL migrations, module registry regeneration, and env var changes
It also checks for uncommitted changes and walks you through any conflicts. See Commands for more details.
Option 2: ARI CLI
Change into your ARI directory (cd ~/ARI or wherever you installed ARI) and run:
./ari update
This shows you what's changed, asks for confirmation, pulls the latest code, and installs any new dependencies. Run ./ari start afterward to launch.
Option 3: Manual Git Pull
You can also update ARI manually with Git:
git remote add upstream https://github.com/ARIsoftware/ARI.git
git pull upstream main
After updating using git pull, run pnpm install to pick up any new dependencies, then restart with ./ari start.