Skip to main content
Granola does not yet officially support managed installs through dedicated MDM configuration profiles, policy keys, or step-by-step support for tools like Jamf, Kandji, Omnissa Workspace ONE, FleetDM, or WinGet. The recommended path is to install Granola in a way that allows the app to keep itself up to date. If your organization needs to manage Granola through MDM or patch-management tooling, this guide explains how Granola updates normally work and what endpoints are available for manual packaging workflows.

How Granola handles updates

For most users, Granola keeps itself up to date automatically. While the desktop app is running, it checks for updates roughly every 10 minutes. When an update is available, Granola downloads it in the background and installs it when the app can safely restart, or when the user chooses to install the update. For auto-updates to work smoothly, users need a setup where Granola is allowed to update itself:
  • On macOS, Granola should be installed in the Applications folder, and the signed-in macOS user needs permission to replace the Granola app bundle.
  • On Windows, Granola’s default installer is per-user, so auto-updates are most likely to work when Granola is installed somewhere the signed-in Windows user can update.
  • On both platforms, the device needs network access to Granola’s update and download services.
If an MDM policy, OS restriction, or system-wide installation prevents the signed-in user from updating the app, Granola may not be able to auto-update itself. In that case, your IT team can manage updates manually using the installer and version endpoints below.

Downloading the latest Granola installers

You can always fetch the latest public Granola installers from these unauthenticated endpoints:
  • macOS: https://api.granola.ai/v1/download-latest
  • Windows: https://api.granola.ai/v1/download-latest-windows
Both endpoints redirect to the current installer file:
  • macOS: .dmg
  • Windows: .exe
Make sure your download tool is set to follow redirects.
# macOS
curl -L -o Granola.dmg https://api.granola.ai/v1/download-latest

# Windows
curl -L -o Granola.exe https://api.granola.ai/v1/download-latest-windows
If your network uses egress filtering, please allow access to:
  • api.granola.ai
  • dr2v7l5emb758.cloudfront.net
The CloudFront domain hosts the installer files that the Granola download endpoints redirect to.

Getting a stable, version-specific download URL

Package managers such as WinGet, FleetDM, and similar tools usually need a stable installer URL plus a matching SHA256 hash. The latest installer endpoints above always redirect to the current Granola version, so the URL they resolve to changes each time a new release ships. To pin a specific release, capture the redirect target without downloading the installer:
# macOS
curl -sI -o /dev/null -w '%{redirect_url}' "https://api.granola.ai/v1/download-latest"

# Windows
curl -sI -o /dev/null -w '%{redirect_url}' "https://api.granola.ai/v1/download-latest-windows"
This returns a CloudFront URL like:
https://dr2v7l5emb758.cloudfront.net/7.205.1/Granola-7.205.1-win-x64.exe
That CloudFront URL is static and permanent, so it remains valid after newer Granola releases. If you prefer to inspect the redirect header directly:
curl -sI "https://api.granola.ai/v1/download-latest-windows" | grep -i location
Example output:
location: https://dr2v7l5emb758.cloudfront.net/7.205.1/Granola-7.205.1-win-x64.exe
For package managers, we recommend this workflow:
  1. Poll https://api.granola.ai/v1/get-versions to detect new releases.
  2. When a new version appears, use https://api.granola.ai/v1/download-latest-windows or https://api.granola.ai/v1/download-latest to get the new static CloudFront URL.
  3. Download the installer from that CloudFront URL and compute its SHA256 hash.
  4. Update your package manifest with the new URL and hash.
For example:
sha256sum Granola-7.205.1-win-x64.exe
PowerShell users can use:
Get-FileHash .\Granola-7.205.1-win-x64.exe -Algorithm SHA256

Checking when a new version is available

To check whether there is a newer Granola release, use our public versions endpoint. No authentication is required.
curl -s https://api.granola.ai/v1/get-versions
The response looks like this:
{
  "production": "7.205.0",
  "beta": "7.205.0"
}
For most managed deployments, compare the production version with the version you currently distribute. You can poll this endpoint on a schedule, such as daily or weekly. When the production version changes, download a fresh installer for each platform you support.