Create diagnostic bundles for Granola troubleshooting.
Use when preparing support requests, collecting system information,
or diagnosing complex issues with Granola.
Trigger with phrases like "granola debug", "granola diagnostics",
"granola support bundle", "granola logs", "granola system info".
!sw_vers 2>/dev/null || uname -a
!defaults read /Applications/Granola.app/Contents/Info.plist CFBundleShortVersionString 2>/dev/null || echo 'Granola version: check Menu > About'
Overview
Collect diagnostic information for Granola support. Produces a zip bundle with system info, audio configuration, network connectivity, and app state — without exposing meeting content, transcripts, or API keys.
Prerequisites
Terminal access (macOS Terminal or Windows PowerShell)
set -euo pipefail
cd "$DEBUG_DIR"
CACHE_FILE="$HOME/Library/Application Support/Granola/cache-v3.json"
echo "=== Cache Metadata ===" > cache-info.txt
if [ -f "$CACHE_FILE" ]; then
ls -lh "$CACHE_FILE" >> cache-info.txt
# Count documents without exposing content
python3 -c "
import json
from pathlib import Path
try:
raw = json.loads(Path('$CACHE_FILE').read_text())
state = json.loads(raw) if isinstance(raw, str) else raw
data = state.get('state', state)
print(f'Documents: {len(data.get(\"documents\", {}))}')
print(f'Transcripts: {len(data.get(\"transcripts\", {}))}')
print(f'Meetings metadata: {len(data.get(\"meetingsMetadata\", {}))}')
except Exception as e:
print(f'Parse error: {e}')
" >> cache-info.txt 2>/dev/null
else
echo "Cache file not found" >> cache-info.txt
fi
Step 6 — Package and Submit
set -euo pipefail
cd "$(dirname "$DEBUG_DIR")"
zip -r "$(basename "$DEBUG_DIR").zip" "$(basename "$DEBUG_DIR")/"
echo "Bundle ready: $(basename "$DEBUG_DIR").zip"
echo "Submit to: [email protected] or via in-app support"
Self-Diagnosis Checklist
Run through this before contacting support:
Granola is updated to the latest version (Check for updates in menu)
Internet connection is stable (can load granola.ai in browser)
Microphone permission is granted
Screen & System Audio Recording permission is granted (macOS)
Correct audio input device is selected in System Settings
No conflicting virtual audio software (Loopback, BlackHole, etc.)
Calendar is connected and syncing (check Settings > Calendar)