aiup is a macOS-first updater for common AI developer CLIs and desktop apps.
It detects what is already installed, infers the install channel, and then upgrades through the right tool instead of blindly reinstalling everything.
CLI tools:
- Codex CLI
- Claude Code
- Gemini CLI
- Kimi CLI
- OpenCode
- Kiro CLI
- GitHub Copilot CLI
gh-copilotlegacy GitHub CLI extension- aider
Desktop apps:
- Codex
- ChatGPT
- Claude
- Cursor
- Windsurf
- Kiro
- OpenCode
- Kimi
aiup currently knows how to work with:
npm -guv toolbrew installbrew install --cask- vendor-native installers for selected tools such as Claude Code and Kiro CLI
For manually installed desktop apps on macOS, aiup can optionally let Homebrew adopt the existing .app bundle and manage updates from then on.
From the repo:
./install.shThis links bin/aiup into ~/.local/bin/aiup.
Manual install:
mkdir -p ~/.local/bin
ln -sfn "$(pwd)/bin/aiup" ~/.local/bin/aiupList detected tools only:
aiup --listPreview actions without changing anything:
aiup --dry-run --skip-brew-updateRun the updater:
aiupDo not let Homebrew adopt manually installed .app bundles:
aiup --no-adopt-apps- The script is intentionally conservative about unmanaged tools. If a vendor has no stable non-interactive upgrade path, the tool is detected and reported as skipped.
- On macOS, desktop app updates rely heavily on Homebrew casks.
brew updatecan be slow, so--skip-brew-updateexists for fast local checks.
MIT