Doraemon needs Full Disk Access permission to read native macOS notifications from apps like WhatsApp, Slack, Discord, and Messages.
macOS stores notifications in a protected SQLite database. To read notifications from native apps (not just web browsers), Doraemon needs permission to access this database.
Without Full Disk Access:
- โ Web notifications work (via browser extension)
- โ Native app notifications don't work
With Full Disk Access:
- โ Web notifications work
- โ Native app notifications work (WhatsApp, Slack, Discord, Messages, etc.)
When running in development mode, grant Full Disk Access to your Terminal or IDE instead of Electron. The child process (Electron) will inherit the permission from its parent.
Option A: Grant to Terminal (recommended)
- Open System Settings โ Privacy & Security โ Full Disk Access
- Click the ๐ lock icon and enter your password
- Click the + button
- Navigate to Applications โ Utilities
- Select Terminal.app (or iTerm.app if you use iTerm)
- Make sure the checkbox is enabled โ
- Restart Terminal and run
npm run dev
Option B: Grant to IDE
If you run npm run dev from your IDE's integrated terminal:
- Open System Settings โ Privacy & Security โ Full Disk Access
- Click + and add your IDE:
- VS Code:
/Applications/Visual Studio Code.app - Cursor:
/Applications/Cursor.app - Kiro:
/Applications/Kiro.app
- VS Code:
- Make sure the checkbox is enabled โ
- Restart the IDE and run
npm run dev
๐ก Why this works: macOS Full Disk Access is inherited by child processes. When Terminal/IDE has the permission, any app launched from it (including Electron) gets the same access.
When running the built/packaged app, grant Full Disk Access directly to Doraemon.app:
- Open System Settings โ Privacy & Security โ Full Disk Access
- Click the ๐ lock icon and enter your password
- Click the + button
- Navigate to Applications folder (or wherever you installed Doraemon)
- Select Doraemon.app and click Open
- Make sure the checkbox is enabled โ
- Restart Doraemon
โ ๏ธ Note: If you rebuild the app, you may need to remove and re-add it to Full Disk Access since the binary signature changes.
After granting permission:
- Restart Doraemon
- The setup screen should show Native Notifications: Enabled โ
- Send yourself a WhatsApp message from another device
- Doraemon should display a beautiful notification bubble!
- Make sure you added the correct app (Electron.app for dev, Doraemon.app for production)
- Make sure the checkbox is enabled (not just added to the list)
- Try removing and re-adding the app
- Restart your Mac if changes don't take effect
Use Finder:
- Open Finder
- Press Cmd+Shift+G
- Paste the path to your project's
node_modules/electron/dist/ - Drag Electron.app into the Full Disk Access list
Check the terminal output for:
[NotificationWatcher] Full Disk Access granted - watching native notifications
If you see this but notifications still don't appear:
- The notification database might be empty (no recent notifications)
- Try sending a test notification to yourself
| App | Status |
|---|---|
| ๐ฌ WhatsApp | โ Supported |
| ๐ฌ Messages | โ Supported |
| ๐ง Mail | โ Supported |
| ๐ฌ Teams | โ Supported |
| ๐ง Outlook | โ Supported |
| ๐ผ Slack | โ Supported |
| ๐ฎ Discord | โ Supported |
| โ Supported | |
| ๐ FaceTime | โ Supported |
| ๐ Reminders | โ Supported |
| ๐ Notes | โ Supported |
| ๐ Calendar | โ Supported |
Doraemon only reads notification metadata (app name, timestamp) from the macOS notification database. It does not read the actual notification content (message text, sender info) due to how macOS stores this data.
For full notification content, use the browser extension which can capture web notifications with their full text.