Questions
The ones people actually hit, in the order they hit them. If yours is not here, that is a gap worth telling us about once there is an address to tell.
- 1. "Still needed: mail server, username, app password"
- 2. "LOGIN failed"
- 3. "Real mail needs a Jev key"
- 4. "The mail server could not be reached"
- 5. It files something in the wrong place
- 6. "Your fourteen days ended"
- 7. It stopped in the middle of a run
- 8. "The mailbox changed underneath the run"
- 9. An attachment was not read
- 10. It is not running on a schedule
- 11. Can it sort my mail inside my mail app, or on my phone?
1. "Still needed: mail server, username, app password"
All three, in this order. The server is the one your provider uses — for Gmail
that is imap.gmail.com, for Fastmail imap.fastmail.com,
and the app fills it in for you when you type your address. The username is your
full email address, @gmail.com included. The password is an
app password, not the one you log in with: your provider's
security page generates it, it is sixteen characters, and it is what you paste
into the app. It is stored in the macOS Keychain, not in a settings file.
2. "LOGIN failed" or "authentication failed"
Almost always one of three things: you pasted your normal password instead of an app password, the app password was revoked (providers expire them, and revoking one is the usual thing to do after a scare), or two-factor authentication is on and you have not created one yet. Generate a fresh app password and paste it in again. This app never asks for your normal password, and it has nowhere to put it if you gave it one.
3. "Real mail needs a Jev key"
The judgment comes from Jev, and it is billed to you at cost: about $0.042 per million input tokens, which at 1,400 tokens a message is roughly a fifth of a cent for a hundred messages. Paste the key into the app's settings and the chip turns into a tick. Without a key, everything still works on the sample inbox — that is the point of shipping one.
4. "The mail server could not be reached"
Check the address is right and that your provider has not turned IMAP off. On a
self-hosted server, and on some VPNs, the certificate or the port is the problem:
--check reports the server it reached and the folders it saw, which
is usually enough to see which half is wrong.
5. It runs, but files something in the wrong place
You have two levers, and both are yours to use. Undo puts a message back, message by message or as a whole run, and the app remembers what it did. Then teach it: mark the decision wrong and the correction becomes a rule for that sender, which outranks the model from then on. The rules are a list you can read and edit, not a black box.
6. "Your fourteen days ended"
The trial starts with your first run against a real mailbox, not with the install, and it is fourteen days. When it ends, your mail and your key need a licence; sample mode stays free forever, so the app is never a brick and you can always see it working. A licence is a key you paste in, checked on your machine — see price and licence.
7. It stopped in the middle of a run
Nothing was lost. Every decision is written down as it is made, so the next run
resumes where the last one stopped instead of paying to score your mail again, and
a message is never filed twice. --resume finishes it; --status
says what happened and whether it failed.
8. "The mailbox changed underneath the run"
If the mailbox was recreated between reading it and filing into it, the app stops rather than acting on stale numbers. Somebody else — another device, a webmail tab, a company archiving job — moving mail mid-run is normal; the app re-reads and tries again.
9. An attachment was not read
Images are not read — there is no OCR yet — and the app says so rather than guessing: the card shows "2 attachments (1 not read)" and the file is listed with the reason. If the only content of a message is a file it could not read, it is held for you instead of filed. A PDF that yields no text is usually a scan.
10. It is not running on a schedule
Check the schedule is installed and loaded, and let it tell you rather than guessing:
node triage.mjs --status node triage.mjs --install-schedule --every 900 launchctl list | grep email-triage
A scheduled run is silent unless something needs you. If a run fails, it says so once and stays quiet until the failure changes, so a broken schedule cannot nag forever. The diagnostics bundle shows the last failure's shape without its content — no mail, no credentials.
11. Can it sort my mail inside my mail app, or on my phone?
There are two ways to use it, and you pick one — nothing is taken away by choosing the other.
The app on its own
The menu bar item and its own window. Works with any mailbox over IMAP, needs nothing installed anywhere else, and is the way we recommend. This is the licence you pay for, and the whole of it comes to us.
Inside the mail program you already use
-
Thunderbird: yes, today. An add-on puts a button on the
toolbar: select a message, click, and see the decision and file it without
leaving the window. It decides nothing itself — it asks the app — so it is the
same decision and the same record, and taking it back still works. Two honest
caveats: Thunderbird will not install it until you switch off
xpinstall.signatures.required, and nobody has opened it in a real Thunderbird yet. It is a preview. - Mail.app: not yet. Apple's only real door is an extension that ships through the Mac App Store, which would force a sandbox and take the shared history, the offline licence and 15–30% of the price with it. That is priced in the open in the decision record rather than waved away, and there is a cheaper route being measured before anything is built.
- Gmail: decided, in writing, not drifted into. Reading Gmail through Google's API needs a restricted permission, and writing Gmail filters — the one thing that would let Google keep sorting while your Mac is asleep — needs another. In practice that means an annual security assessment that desktop mail clients have had to pay for. The decision was to keep IMAP, which needs no permission from Google at all. The whole argument is in the decision record.
On your phone
No. Nothing of ours runs on a phone. If your phone shows the same mailbox, it will show what the Mac sorted — the results are simply there, because they happened on the server. But if the phone is all you use, this is not for you yet, and saying so is better than selling you a maybe.
Removing it
One command removes what it stored: credentials from the Keychain, settings, the record of what it did, the saved answers, your corrections, your rules and the schedule. It prints the list first and does nothing until you confirm.
node triage.mjs --uninstall node triage.mjs --uninstall --yes