Skills Productivity Generate Granola Support Diagnostic Bundle

Generate Granola Support Diagnostic Bundle

v20260423
granola-debug-bundle
This utility automatically collects comprehensive diagnostic data for the Granola application, including system specifications, audio configurations, network connectivity tests, and application metadata. It packages all findings into a single ZIP file for support teams. Use this when preparing a detailed support ticket or troubleshooting complex, persistent issues. The process is designed to collect diagnostic context without exposing sensitive meeting content, transcripts, or private API keys.
Get Skill
253 downloads
Overview

Granola Debug Bundle

Current State

!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)
  • Granola installed (even if malfunctioning)
  • Internet access for network diagnostics

Instructions

Step 1 — Create Debug Directory

set -euo pipefail
DEBUG_DIR="$HOME/Desktop/granola-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$DEBUG_DIR"
echo "Debug directory: $DEBUG_DIR"

Step 2 — Collect System Information

macOS:

set -euo pipefail
cd "$DEBUG_DIR"

# OS and hardware
sw_vers > system-info.txt
uname -a >> system-info.txt
sysctl -n hw.memsize | awk '{printf "RAM: %.0f GB\n", $1/1073741824}' >> system-info.txt

# Granola version
defaults read /Applications/Granola.app/Contents/Info.plist CFBundleShortVersionString >> system-info.txt 2>/dev/null || echo "Version: not found" >> system-info.txt

# Granola process status
pgrep -l Granola >> system-info.txt 2>/dev/null || echo "Granola: NOT RUNNING" >> system-info.txt

# Audio configuration (critical for transcription issues)
system_profiler SPAudioDataType > audio-config.txt 2>/dev/null

Windows (PowerShell):

$dir = "$env:USERPROFILE\Desktop\granola-debug-$(Get-Date -Format 'yyyyMMdd-HHmmss')"
New-Item -ItemType Directory -Path $dir

# System info
Get-CimInstance Win32_OperatingSystem | Select Caption, Version > "$dir\system-info.txt"
Get-Process Granola -ErrorAction SilentlyContinue >> "$dir\system-info.txt"

# Audio devices
Get-CimInstance Win32_SoundDevice | Select Name, Status > "$dir\audio-config.txt"

Step 3 — Check Permissions (macOS)

set -euo pipefail
cd "$DEBUG_DIR"
echo "=== Permission Check ===" > permissions.txt

# Check if Granola has microphone access
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db \
  "SELECT service, allowed FROM access WHERE client='ai.granola.app';" >> permissions.txt 2>/dev/null \
  || echo "Cannot read TCC database (expected on macOS 14+). Check manually:" >> permissions.txt

echo "" >> permissions.txt
echo "Manual verification required:" >> permissions.txt
echo "  System Settings > Privacy & Security > Microphone > Granola" >> permissions.txt
echo "  System Settings > Privacy & Security > Screen & System Audio Recording > Granola" >> permissions.txt

Step 4 — Network Diagnostics

set -euo pipefail
cd "$DEBUG_DIR"

# Test Granola API connectivity
echo "=== Network Tests ===" > network-test.txt
echo "Timestamp: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> network-test.txt

# API endpoint
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 5 https://api.granola.ai/ 2>/dev/null || echo "FAIL")
echo "api.granola.ai: HTTP $HTTP_CODE" >> network-test.txt

# DNS resolution
nslookup api.granola.ai >> network-test.txt 2>&1

# WorkOS auth endpoint (Granola uses WorkOS for authentication)
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 5 https://api.workos.com/ 2>/dev/null || echo "FAIL")
echo "api.workos.com (auth): HTTP $HTTP_CODE" >> network-test.txt

Step 5 — Collect Cache Metadata (Not Content)

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: help@granola.ai 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)
  • Sufficient disk space (> 500 MB free)
  • status.granola.ai shows no active incidents

Privacy: What the Bundle Does NOT Include

  • Meeting transcripts or notes content
  • Personal calendar event details
  • API keys or authentication tokens
  • Audio recordings
  • Contact/attendee information

Output

  • Zip file on Desktop containing system, audio, network, and app diagnostics
  • Ready for submission to Granola support at help@granola.ai
  • Self-diagnosis checklist completed before escalation

Error Handling

Error Cause Fix
Permission denied on TCC database macOS 14+ security Use manual permission verification instead
Network test fails Firewall or proxy Check outbound HTTPS to api.granola.ai and api.workos.com
Zip creation fails Disk full Free space, or tar instead: tar czf bundle.tar.gz debug-dir/
Cache parse error Different Granola version Report the error — it helps support identify the version issue

Resources

Next Steps

Proceed to granola-rate-limits to understand usage limits and plan differences.

Info
Category Productivity
Name granola-debug-bundle
Version v20260423
Size 4.43KB
Updated At 2026-04-28
Language