> ## Documentation Index
> Fetch the complete documentation index at: https://pomeroy.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Messages

> Your AI assistant can search and read your iMessage and SMS conversations. Pomeroy cannot send a message, and never asks for Full Disk Access.

Messages is Pomeroy's most sensitive app and its most carefully bounded one.
Reading only, through one file you hand over yourself.

<Columns cols={2}>
  <div>
    **Can**

    * List recent conversations and who is in them
    * Search the text of every message
    * Read one conversation's recent messages
  </div>

  <div>
    **Cannot**

    * Send a message or a reply
    * Delete anything
    * Ask for Full Disk Access. It never does
  </div>
</Columns>

## Tools

| Tool                     | What it does                                                                                                     | Kind |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------- | ---- |
| `messages_conversations` | Recent conversations, most recently active first: who is in each, how many messages it holds, when it last moved | Read |
| `messages_search`        | Searches the text of every message, newest match first. Plain text, case-insensitive, no search syntax           | Read |
| `messages_read`          | One conversation's recent messages, newest first, by id                                                          | Read |

## Try it

```text theme={null}
Find the message with the door code.
What did Sam say about Saturday?
Show me my recent conversations.
Search my messages for the tracking number.
```

## How access works

Your messages live in one SQLite file, `~/Library/Messages/chat.db`. macOS
guards it behind **Full Disk Access**, one switch that would give Pomeroy
every file on your Mac.

Pomeroy refuses that switch. Instead, switching Messages on opens a standard
file dialog at `~/Library/Messages` with `chat.db` already selected and every
other file greyed out. You hand over that one file.

What Pomeroy keeps is a **security-scoped bookmark**, minted read-only, and
every read opens the database with `mode=ro`. Pomeroy holds no grant over any
other file on your Mac, so there is nothing else it could read even if it
tried. Switch Messages off and the bookmark is all it loses.

[The full
reasoning](/docs/privacy/what-pomeroy-asks-macos-for#messages-and-why-full-disk-access-is-not-here)

<Warning>
  **What an assistant reads becomes part of your conversation with it**, the
  same as text you pasted in. That is true of every app, and it is worth saying
  plainly here: ask about the messages you would be happy to paste.
</Warning>

## Worth knowing

<AccordionGroup>
  <Accordion title="A brand-new message can take a moment to appear" icon="clock">
    Pomeroy reads the database Messages writes to. A message the app has only
    just written may not show up in the very next call.
  </Accordion>

  <Accordion title="Undecodable messages are counted, not faked" icon="circle-question">
    Some messages, certain attachments and effects among them, cannot be turned
    back into text. Those come back with no text and are counted separately,
    never presented as a blank message.
  </Accordion>

  <Accordion title="Search has no syntax" icon="magnifying-glass">
    The query is matched as plain text, case-insensitively. There are no
    operators to learn. The reply says how many messages matched in total, not
    just how many came back.
  </Accordion>

  <Accordion title="This is not Anthropic's iMessage plugin" icon="circle-info">
    Anthropic ships an iMessage plugin for Claude Code that needs Full Disk
    Access and can send replies. Pomeroy is a separate app from a different
    maker that only reads.
  </Accordion>
</AccordionGroup>
