From granola-pack
Upgrades Granola macOS desktop app via Homebrew/manual methods, resolves update crashes by clearing caches/reinstalling, and migrates subscription plans.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin granola-packThis skill is limited to using the following tools:
Manage Granola desktop app updates and subscription plan changes. Granola auto-updates by default, but manual intervention may be needed for major versions or plan migrations that affect feature access.
Provides production readiness checklist for Granola SaaS team/enterprise deployment, covering licensing, security, integrations, workspaces, and go-live.
Syncs Granola meeting transcripts, summaries, and notes to local disk from macOS app auth. Enables bash searches by title, content, date, or attendees.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Share bugs, ideas, or general feedback.
Manage Granola desktop app updates and subscription plan changes. Granola auto-updates by default, but manual intervention may be needed for major versions or plan migrations that affect feature access.
# macOS — read version from app bundle
defaults read /Applications/Granola.app/Contents/Info.plist CFBundleShortVersionString 2>/dev/null || echo "Check Granola > About Granola"
Check for available updates: Granola menu bar icon > Check for Updates, or visit granola.ai/updates for the changelog.
Auto-update (recommended): Granola checks for updates automatically and downloads in the background. Enable at:
Granola > Preferences > General > Check for updates automatically: On
Manual update via Homebrew (macOS):
brew update && brew upgrade --cask granola
Manual download: Download latest from granola.ai/download. Close Granola, install over the existing version. Settings and data are preserved.
If Granola crashes or behaves incorrectly after updating:
# Clear caches (preserves your data and authentication)
rm -rf ~/Library/Caches/Granola
# If that doesn't help, reset preferences (you'll need to re-authenticate)
defaults delete ai.granola.app 2>/dev/null
# Nuclear option — full reinstall
brew uninstall --cask granola 2>/dev/null
rm -rf ~/Library/Caches/Granola
rm -rf ~/Library/Preferences/ai.granola.app.plist
brew install --cask granola
Your meeting data is stored server-side and in the local cache (~/Library/Application Support/Granola/cache-v3.json). Reinstalling does not delete your notes.
Settings (avatar bottom-left) > Account > Subscription > Upgrade
Upgrade paths:
Basic (Free) → Business ($14/user/mo): Immediate, prorated
Business → Enterprise ($35+/user/mo): Contact sales
What changes on upgrade:
Basic → Business:
+ Unlimited meetings (was 25 lifetime)
+ Unlimited history (was 14 days)
+ Slack, Notion, CRM integrations
+ Zapier automation
+ MCP (AI agent integration)
+ Team shared folders
+ Custom templates
+ Public API access
Business → Enterprise:
+ SSO (Okta, Azure AD, Google Workspace)
+ SCIM auto-provisioning
+ Enforced AI training opt-out
+ Usage analytics dashboard
+ Full Enterprise API
+ Custom data retention policies
+ Dedicated account manager
Before downgrading, understand what you lose:
| Downgrading From | Losing | Action Before Downgrade |
|---|---|---|
| Business → Basic | Integrations disconnect, history limited to 14 days | Export all notes, save integration configs |
| Enterprise → Business | SSO, SCIM, custom retention, analytics | Reconfigure authentication, manual user provisioning |
Pre-downgrade checklist:
Important: Downgrading does not delete your data. Notes remain accessible within the new plan's limits (e.g., Basic only shows last 14 days, but data is preserved if you re-upgrade).
Settings > Team > Manage Seats
Add seats:
- Invite by email or enable SSO auto-provisioning
- New seats are prorated for the billing period
Remove seats:
- Deactivate user in Settings > Team
- User loses access but their shared notes remain
- Seat count reduces on next billing cycle
Reassign seats:
- Deactivate departing user
- Invite replacement user
- No additional charge (same seat count)
| From | To | Billing Impact | Data Impact | Action Required |
|---|---|---|---|---|
| Basic | Business | $14/user/mo starts immediately | Full history restored | Connect integrations |
| Basic | Enterprise | Contact sales for pricing | Full history restored | SSO/SCIM setup |
| Business | Enterprise | Price difference, prorated | No data change | Configure SSO/SCIM |
| Enterprise | Business | Price reduction, immediate | Retain data, lose SSO/SCIM | Reconfigure auth |
| Business | Basic | Free, immediate | History limited to 14 days | Export critical data |
| Any | Annual billing | 10-15% savings | No data change | Confirm in Billing |
| Error | Cause | Fix |
|---|---|---|
| Update fails to install | Corrupted download or cache | Clear caches, reinstall: brew reinstall --cask granola |
| App crashes after update | Stale preferences | Delete prefs: defaults delete ai.granola.app |
| Payment fails on upgrade | Expired card | Update payment method in Settings > Billing |
| Features missing after upgrade | Cache not refreshed | Log out and log back in to refresh entitlements |
| SSO stops working after downgrade | Enterprise feature removed | Switch to Google/Microsoft social login |
Proceed to granola-ci-integration for automated meeting-to-dev-tool workflows.