Updates
Auto-updates, stable and nightly release channels, manual checks, the 24-hour toast cooldown, build variants, and agent CLI updates.
App Updates
Daintree uses electron-updater to check for and install app updates automatically. Updates are delivered through two release channels, and the same update flow applies to both.
Update Flow
- Check — Daintree checks for updates on startup and every 4 hours thereafter
- Download — when an update is found, it downloads automatically in the background
- Notify — an in-app notification shows download progress and completion
- Install — the update installs automatically when you quit Daintree
The Update-Available Toast and 24-Hour Cooldown
The "Update Available" toast appears when a new version is found and begins downloading. If you dismiss it, Daintree won't show the same version's toast again for 24 hours, even across app restarts. A newer version bypasses the cooldown, so you won't miss a follow-up release.
The "Update Ready" toast is never suppressed. Once a download completes, Daintree always tells you the build is ready to install, whether you previously dismissed the available-toast or not.
For how toasts fit alongside the rest of Daintree's notifications, see Notifications and Sound.
Update Channels
Daintree ships two release channels. Stable is the default and receives fully tested builds. Nightly gives you early access to features that haven't gone through manual QA yet.
| Channel | Feed URL | QA Level |
|---|---|---|
| Stable | https://updates.daintree.org/releases/ | Full QA |
| Nightly | https://updates.daintree.org/nightly/ | Pre-release (skips manual QA) |
Nightly builds use a pre-release version format that encodes the build timestamp and git commit, like 0.8.0-nightly.20260403142530.abc1234f. Nightlies are retained for 3 days before being automatically cleaned up.
Canopy Legacy Builds
Every release ships in two build variants from the same codebase. New installs are branded Daintree and pull updates from updates.daintree.org. Existing Canopy users keep receiving updates from updates.canopyide.com so the rename doesn't strand them on an old version.
The Canopy variant only has a stable channel. The Nightly button still appears in Settings, but selecting it has no effect. Canopy builds stay on the stable feed regardless. A persistent banner at the bottom of the Canopy app window points to the Daintree download page for users who want to move over.
Switching Channels
Open Settings and go to the General tab. The Update Channel section has two buttons: Stable and Nightly.
Switching takes effect immediately. There's no need to restart Daintree. The next automatic update check (or a manual check) will pull from whichever channel you selected. Your existing settings and data are unaffected by the switch.
If you switch from nightly back to stable, Daintree handles the version difference automatically and installs the latest stable release, even if it has a lower version number than the nightly you were running.
Checking for Updates Manually
You can trigger an update check at any time from the application menu. This menu item is only available in packaged builds and won't appear when running Daintree from source.
Open the Daintree menu (top-left of the screen) and click Check for Updates...
Open the Help menu and click Check for Updates...
Open the Help menu and click Check for Updates...
If you're already on the latest version, a toast notification confirms it: "No Updates Available — Daintree vX.Y.Z is the latest version." If the check fails, you'll see an error toast with a Retry button.
When Auto-Update Is Disabled
Auto-update is automatically disabled in these cases:
- Development builds — when running from source (the app is not packaged)
- Windows portable — the portable Windows build doesn't support auto-update
- Linux without AppImage or package marker — on Linux, auto-update requires either the
APPIMAGEenvironment variable (set automatically for AppImage builds) or apackage-typemarker file (present in .deb packages). Without one of these, auto-update is disabled.
Linux AppImage and .deb packages both support auto-update. If you installed via .deb and updates aren't working, verify that the package-type marker file exists in your installation directory.
Agent CLI Updates
Agent CLI updates are separate from Daintree app updates. Each agent gets updated through its own package manager:
| Agent | npm | Other |
|---|---|---|
| Claude Code | npm install -g @anthropic-ai/claude-code | — |
| Gemini CLI | npm install -g @google/gemini-cli | — |
| Codex CLI | npm install -g @openai/codex | — |
| OpenCode | npm install -g opencode-ai@latest | brew upgrade opencode |
Version Checking
Daintree reads the installed version of each agent CLI and notifies you when updates are available. Current versions show up in agent settings.
Update Methods
Agent updates can be triggered three ways:
- npm —
npm install -g <package> - Homebrew —
brew upgrade <package> - Custom command — per-agent update commands defined in the agent registry