[BUG] iMessage MCP tools fail with "Cannot access Messages database" despite Full Disk Access being granted
Resolved 💬 5 comments Opened Mar 10, 2026 by Beardedfreedom Closed Mar 14, 2026
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The read_imessages, get_unread_imessages, and likely other iMessage MCP tools always return an error stating Full Disk Access is needed, even when it has been properly granted and Claude has been restarted.
What Should Happen?
The iMessage tools should read from chat.db successfully when Full Disk Access is granted.
Error Messages/Logs
Error: "Cannot access Messages database"
Evidence that this is a permissions issue with the MCP tool (not a real permission problem):
- Full Disk Access is enabled for Claude in System Settings
- Running `sqlite3 ~/Library/Messages/chat.db "SELECT COUNT(*) FROM message;"` via Bash tool succeeds and returns results (300k+ messages)
- This proves the Claude process has database access
- The MCP tool's internal permission check is incorrectly failing
Steps to Reproduce
- Grant Full Disk Access to Claude in System Settings > Privacy & Security > Full Disk Access
- 2. Ensure chat.db database file exists at ~/Library/Messages/chat.db
- 3. Call read_imessages or get_unread_imessages MCP tool
- 4. Tool returns "Cannot access Messages database" error
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
latest
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_Likely cause: The MCP server is checking permissions in a way that doesn't reflect the actual access level of the process (e.g., a pre-flight check that's too strict, or running in a subprocess that doesn't inherit FDA).
Environment: macOS Darwin 24.6.0, Claude Code with iMessage MCP server_
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗