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.
How Updates 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.
Your custom modules in modules-custom/ are completely untouched. That directory is yours — ARI will never modify or overwrite anything in it. Update with confidence.
Where to Put Your Modules
Always build new modules in modules-custom/. This is your space to extend ARI however you want, and it's fully protected from updates. Never edit files directly in modules-core/ — those changes won't survive the next update.
Customizing Core Modules
This is where ARI's architecture really shines. Want to tweak a built-in module? Just copy it from modules-core/ into modules-custom/ with the same name.
ARI automatically loads modules-custom/ first. Your copy takes priority and the original is ignored — no configuration needed. Customize the look, change the logic, add fields, make it yours.
Want to go back to the original? Delete your copy from modules-custom/ and the core version loads again instantly. Zero risk experimentation.
Backup Before Updating
Before pulling an update, make sure you have a recent backup all ARI files including:
- 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: ARI CLI
The easiest way to update. 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 2: Update Using Claude
If you use Claude Code, type /ari-update in your terminal. Claude provides a fully interactive upgrade process — it checks for uncommitted changes, shows you exactly which commits and files are incoming, asks for confirmation before merging, and walks you through any conflicts or post-update steps like new database migrations or environment variables.
Option 3: Manual Git Pull
You can also update ARI directly 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.