GhostReply is a $4.99 Mac app whose pitch is that the reply reads like you wrote it. Textbutler is a free, MIT-licensed butler whose replies announce that an assistant sent them. That difference shapes everything below.
In development. Textbutler runs from source on a Mac; there is no app to download and no published Textbutler package. Without an AI account you can connect iMessage, WhatsApp, and Beeper through Ghostget, check your inbox, and send replies you write yourself. AI replies also need a local build of Textbutler and a Claude Code or Codex subscription connected through xcb. Automatic replies have worked end to end over iMessage in our testing. Try them on your own account, especially over WhatsApp or Beeper, before you rely on them.
What GhostReply does
GhostReply installs from one terminal command and runs as a visible Terminal session. You grant Full Disk Access so it can read the local Messages database, and Messages Automation so it can send. It learns how you text each person, matching your style, slang, length, and emojis in a reply profile stored under ~/.ghostreply. You choose a scope of one person or all one-to-one chats; group chats are skipped.
While the Mac is awake and the app is running, it sends replies automatically. The terminal prints each incoming text and the reply it sent. Your own reply stops one-person mode or pauses that contact for 30 minutes in all-contacts mode, and keyword heuristics hold or skip urgent and sensitive threads. For each reply, the app sends the context it needs through GhostReply’s Cloudflare backend to Cloudflare Workers AI; its privacy page says message text is not written to its database records. Ten replies are free, then a one-Mac license is $4.99 once with hosted AI included and no AI API key to create.
What Textbutler does
Textbutler is a macOS butler: a CLI, a guided terminal, a background daemon, and an optional menu bar companion. You turn it on per conversation across iMessage, WhatsApp, and Beeper, and it keeps each contact’s context in a folder of ordinary files you can open and edit. New installations start paused, and new contacts start disabled.
By default its replies carry a disclosure marker: 🤖{ hello this is my response }. The three symbols are configurable per contact. Smart response is designed to yield while you are talking; keyword-only mode waits for a direct invitation. Drafts you review send only with their exact review digest. AI replies run on your own Claude Code or Codex subscription through xcb from the local install; an optional fast-reply mode can use a Qwen model through Vercel AI Gateway or a model server on your Mac.
How they compare
| Aspect | GhostReply | Textbutler |
|---|---|---|
| Who the reply sounds like | You: it matches your texting style, slang, length, and emojis | A marked assistant: replies start with 🤖 by default, and the marker is configurable or removable per contact |
| What it answers | Incoming iMessages: one chosen person or all one-to-one chats, with group chats skipped | The iMessage, WhatsApp, and Beeper conversations you turn on, plus replies you type yourself |
| Where the AI runs | GhostReply’s Cloudflare backend calls Cloudflare Workers AI; there is no API key to create or choose | Your own Claude Code or Codex subscription through xcb on your Mac; the optional fast-reply path uses a Qwen model through Vercel AI Gateway or a local model server |
| What it reads | The local Messages database under Full Disk Access, plus Contacts for names; a learned reply profile in ~/.ghostreply | The conversations you enroll, with an optional recent-history import, and the per-contact notes folder it maintains |
| What you pay | 10 replies free, then $4.99 once for a one-Mac personal license with hosted AI included | Nothing for the software, which is MIT licensed; AI replies use the Claude Code or Codex subscription you already pay for |
| What ships today | A one-command install for macOS, sold and maintained by Harrison Rampell | A source-only build with no signed app; automatic replies have worked end to end over iMessage in our testing, and WhatsApp and Beeper replies need testing on your own account |
Which one fits
GhostReply fits if you want a finished, paid Mac app whose replies pass as yours and you accept reply context going through its hosted backend. Textbutler fits if you want each reply marked as an assistant’s, want the model to run on a subscription you already pay for, want to inspect and edit what it remembers about each person, or want WhatsApp and Beeper in scope alongside iMessage.
One caution applies to both: the person on the other end may assume you wrote the reply. GhostReply’s own safety guide recommends telling a contact when AI assistance would be material to their expectations, and it suggests keeping automatic sending off for consequential conversations. Textbutler’s marker makes the disclosure part of the message itself.
Questions
Does a GhostReply reply say it was automated?
GhostReply’s site describes replies that match your style, slang, length, and emojis, and does not describe a visible marker; its safety guide recommends telling a contact yourself when AI assistance would be material. Textbutler marks generated replies with 🤖 by default, and you can change or clear the three disclosure symbols per contact.
Do I need my own AI account?
Not for GhostReply: hosted AI is included in the $4.99 license, and no AI API key is involved. Textbutler writes AI replies through your own Claude Code or Codex subscription connected with xcb, though connecting chats and sending replies you type yourself need no AI account.
Can either app send without me watching?
Both can send automatically once you turn a contact on. GhostReply auto-sends while the Mac is awake and the app is running, and your own reply takes over or pauses that contact. Textbutler’s smart response is designed to yield while you are talking, keyword-only mode waits for a direct invitation, and new contacts start disabled.
Where does my message history go?
Both read iMessage history on your Mac. GhostReply keeps its reply profile locally under ~/.ghostreply and sends the context needed for a reply through its Cloudflare backend to Cloudflare Workers AI. Textbutler keeps a folder of notes per contact locally, and the provider account you connect through xcb sees the context a reply needs. Neither is fully offline once AI replies are on.
Sources
- GhostReply product page
- GhostReply privacy details (updated August 22, 2026)
- GhostReply’s own safety guide
- Textbutler setup guide
- How Textbutler connects a subscription through xcb
Descriptions of GhostReply come from its public pages; Textbutler has no affiliation with it and this page does not test its app.