← Back to all free guides

ChatGPT Can Now
Read Your Texts

The setup, the one prompt that turns your messages into a reply list, a to-do list and a calendar check, and seven searches worth saving.

OpenAI added an Apple Messages plugin to the ChatGPT Mac app. Once it’s on, ChatGPT can search the texts stored on your Mac, catch you up on a conversation, draft replies, and send them after you approve.

Most of the coverage is about having it write your texts, which is the least interesting part. The real unlock is asking your message history questions in plain English instead of scrolling for twenty minutes.

Turn It On

Check this first. It runs only in the ChatGPT desktop app on Apple silicon Macs (M1 and newer), on every ChatGPT plan. It won’t work on Intel Macs, the web, your phone, the Codex CLI or the IDE extension, and it doesn’t work in regular ChatGPT chats. It’s off until you install it.

01

Install the plugin

Open the ChatGPT desktop app on your Mac, go to Plugins, find Apple Messages (it’s under the OpenAI tab) and install it.

02

Start the right kind of chat

Start a new ChatGPT Work or Codex chat. A regular chat can’t see the plugin.

03

Approve the Mac permissions

macOS will ask for permissions before ChatGPT can read anything. Reports from setup describe Full Disk Access (to read the messages saved on your Mac), Contacts (so you see names instead of phone numbers) and Automation (so it can send through the Messages app).

04

Call it in

Type @ at the start of a prompt and pick Messages, or just ask it to find, summarize, draft or send a message.

What it can see. iMessage, SMS and RCS, so green bubbles work too. It only works with the Messages app, so WhatsApp, Instagram and Signal are out.

The Monday Morning Prompt

This is the one worth saving. It reads a week of messages and sorts them into three lists. One shows who’s waiting on you, with a draft reply. One shows what you promised and forgot. The last catches every upcoming date anyone mentioned.

The promises list is the one that gets people. Nobody remembers the "yeah I’ll send that over" they typed nine days ago.

Text Triage For Monday Morning
Use @Messages. You are my personal assistant doing my Monday catch-up. Go through everything from the last 7 days across all my conversations, then give me exactly three lists and nothing else. **1. REPLY LIST** Every person who is waiting on a response from me. For each one: - Their name - What they actually asked, in one line - How long it has been sitting - A draft reply I can approve, written in the voice I already use with that person (match how I text them, not how I write emails) Sort by how long they have been waiting, longest first. Skip anything that clearly does not need a reply. **2. TO-DO LIST** Everything I committed to in a text and have not obviously done. Look for "I'll send you", "I'll book", "let me check", "I'll get back to you", "yes I can", "remind me to". For each one: - What I promised - Who I promised it to - When I said it Flag anything over a week old as overdue. **3. CALENDAR CHECK** Every date, time, plan, or event mentioned that is still upcoming. For each one: - What it is - The date and time as stated - Who it involves - Whether it was actually confirmed or is still loose Put anything happening in the next 48 hours at the top and mark it URGENT. Rules: - Draft only. Do not send anything in this pass. - If a date or detail is ambiguous, say so instead of guessing. - Ignore promotional messages, delivery notifications, and 2FA codes entirely. - If a list is empty, say it is empty. Do not invent entries to fill it. - Use first names the way they appear in my contacts. If a number has no contact, show the number. - At the end, ask which drafts I want to send. Send nothing until I approve each one.
Seven Searches Worth Keeping

These are the ones I’d actually use. Copy the whole block, keep it somewhere handy, and swap in your own names.

Message Search Prompts
# Find something you know somebody sent you Use @Messages. Find the address my mom sent me for the wedding. Give me the exact text she sent and the date. Use @Messages. Someone recommended a restaurant to me around June. Find it, tell me who recommended it and exactly what they said about it. Use @Messages. Find every link anyone has sent me in the last month that I never opened or replied to. Group them by who sent them. # Catch up before you see someone Use @Messages. Catch me up on my conversation with Sarah since July. What has been going on with her, what did I say I would do, and what should I definitely ask about when I see her. Keep it under ten lines. # Untangle a group chat Use @Messages. Read the group chat about our trip. Tell me three things: what everyone has actually agreed on, what is still undecided, and anything I specifically said I would handle. Do not summarize the conversation, just give me the decisions. # Find who you are ghosting Use @Messages. Show me everyone who texted me in the last two weeks that I never replied to. Skip anything promotional. For each one, tell me if it looks like it still needs an answer. # Turn a thread into a decision Use @Messages. Read my conversation with [name] about [topic]. Lay out what they want, what I have offered, and where we actually disagree. Then give me the one question I should ask to move it forward.
The Setting To Leave Alone

By default ChatGPT shows you the message and the recipient and waits for your OK before anything sends. When it asks, you’ll see Allow once and Always allow sending to this chat. The second one turns approval off for that conversation.

Pick Allow once. Your inbox is full of text other people wrote, so anyone who messages you could slip in instructions aimed at the assistant. OpenAI’s own plugin guide says to "keep per-send approval for chats that may contain untrusted or misleading instructions." (OpenAI plugin guide)

Already clicked Always allow? Go to Settings, then Computer use, click Manage next to Messages, and remove the chat with the trash icon.

Text Didn’t Send?

When a task is set to Full access, or approval prompts are off, the plugin can’t show the confirmation it needs, so the message never goes out. Switch the task to Ask for approval or Approve for me and try again.

Setting ChatGPT up properly? This walks through the rest of it.