Mycelium reads your messages and the mailboxes you connect, finds what's time-sensitive, and shows it as a list of dates. You approve or dismiss each one. Nothing reaches your calendar on its own.
The review queue. Twenty-eight items, one keystroke each.
Any app that touches your Messages history owes you a straight answer about where that history goes. Mycelium's answer is that it does not go anywhere — and the specifics are below, not buried in a policy.
Messages are read from the database already on your Mac and stay there. There is no account, no server, and no sync. Nothing to breach and nothing to subpoena, because nothing is held anywhere else.
Two things touch the network, both optional. A daily GET
of a static version file, which sends nothing at all. And any mailbox
you connect — that talks to Google directly, from your Mac. There is
no middle, because there is nowhere for a middle to be.
Nothing is connected until you connect it, one account at a time,
and disconnecting revokes the grant rather than just forgetting it.
A short config.toml narrows the rest to the people who
matter and leaves group chats out.
Approving an item records your decision and stops. Putting it on your calendar is a separate, deliberate press. An app that reads your messages should not also be deciding your week.
All of it is MIT-licensed and short enough to read in an afternoon — check the claims against the source rather than taking them on faith.
Your Messages database never leaves the machine. No account, no server, no network connection at any point.
“Friday at 3” resolves against when the message was sent, not when you opened the app. Expired and undated items stay out.
Approve or dismiss. Dismissals are permanent — rescanning never resurrects something you already ruled out.
Every signal gets a vote. A message with no obvious request, in a thread where two people are trading times, still gets through — under the old chain it was dropped at the first test.
Not the batch it happened to arrive in. A question you already answered, or a plan someone moved an hour later, is settled — and gets treated that way.
Every item carries its own reasoning. What it learns from your dismissals can confirm that reasoning — never overrule it on its own, and never quietly.
macOS keeps Messages private and — unlike Contacts or Photos — it never shows a prompt for it. There is no API that can ask. Mycelium opens the right settings page for you; you flip one switch, once.
That is also why it ships as an app rather than a script: the permission attaches to Mycelium itself, not to your terminal.
A queue you can only click through is a queue you stop opening. Approving advances the cursor before the list reflows, so you land on the next item rather than back at the top.
Not the big ones. An invoice due Monday, a friend asking about Thursday, a date named in passing halfway up a thread. Every one of them was stated perfectly clearly by someone — just not anywhere I would look again. Writing them down means stopping the conversation to retype what the other person already said.
Everything I found that solved this wanted the messages instead: upload the thread, connect the account, trust the server. For a calendar convenience that is an absurd trade, and I did not want to make it — so Mycelium doesn't. The history stays in the database it is already in.
The approval step is the part I care most about. Software that reads your messages and then quietly writes to your calendar has decided something for you twice over. Mycelium shows you a list and stops. What happens next is yours.
— Bryant