Skip to main content

Updates

Auto-updates, stable and nightly release channels, manual checks, the 24-hour toast cooldown, build variants, and agent CLI updates.

Updated
Reviewed

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

  1. Check — Daintree checks for updates on startup and every 4 hours thereafter
  2. Download — when an update is found, it downloads automatically in the background
  3. Notify — an in-app notification shows download progress and completion
  4. 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.

Tip
Need the current status right now? Use Check for Updates... from the app menu. Manual checks ignore the cooldown and always report what's available.

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.

ChannelFeed URLQA Level
Stablehttps://updates.daintree.org/releases/Full QA
Nightlyhttps://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.

Note
The Canopy variant is being retired at v0.9.0. After that release, Canopy users will need to install Daintree directly to continue receiving updates.

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...

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 APPIMAGE environment variable (set automatically for AppImage builds) or a package-type marker 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:

AgentnpmOther
Claude Codenpm install -g @anthropic-ai/claude-code
Gemini CLInpm install -g @google/gemini-cli
Codex CLInpm install -g @openai/codex
OpenCodenpm install -g opencode-ai@latestbrew 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:

  • npmnpm install -g <package>
  • Homebrewbrew upgrade <package>
  • Custom command — per-agent update commands defined in the agent registry
Note
After updating an agent CLI, Daintree automatically detects the new version — no restart required.