Eligible phrases (browse & save every phrase you repeat)
A tab in Quick Replies that lists every phrase you type often, so you can browse them all and save the good ones as quick replies in one click — running entirely on your own machine, with no AI and no cost.
What it is
Eligible phrases is a tab in the Quick Replies sidebar that lists every phrase you type a lot, so you can browse them all and save the good ones as quick replies in one click — instead of waiting for the repeated-phrase nudge to surface them one at a time. It's the "show me all of them" companion to that nudge: same phrase-counting, but a lower bar and a full list you act on yourself.
It runs entirely on your machine, uses no AI, and costs nothing.
Where to find it
How to use it
- Open the Quick Replies entry in the sidebar and pick the Eligible phrases tab (next to Settings and Quick replies).
- You see every phrase you've typed 3 or more times in the last 30 days — "What's the next phase?" — Typed 12 times across 8 sessions" — most-repeated first (up to 100).
- Each phrase has:
- Save as a quick reply — opens the Quick Replies add-form with the phrase already filled in, ready to approve (nothing is saved until you click Save there).
- Dismiss — hides the phrase from future nudges and marks it Dismissed here.
- A small label on each row tells you its state: New, Already suggested (the nudge has popped it up before), or Dismissed.
- Use Refresh to re-scan after you've been working; phrases you've already saved as quick replies drop off the list automatically.
How it behaves
How it works
- A lower floor than the nudge: this tab lists phrases repeated ≥ 3 times (a fixed floor), independent of your nudge threshold (default 10) — so you can grab useful phrases the nudge hasn't flagged yet.
- Same scanner as the nudge: it counts your own sent messages (excluding Omniscio's auto-messages), uses your raw text (nothing leaves your machine), ignores one-word phrases and long pastes.
- Because it's the same scanner, tapped question-card answers are skipped here too — you tapped a button, you didn't type the phrase — so Omniscio's own answer text never clutters this list. It also lists a phrase only when its session started somewhere you type (the composer, Quick Launch, mobile, search, a "+ New" session, a Team Chat or email "start a session"); anything Omniscio spawns or composes itself — auto-remediation, the auto-lander, cron jobs, digests, reminders, or the opening prompt when you tap Start session on any inbox card — is never listed as a phrase you type.
- Excludes every phrase you can already send in one tap — saved quick replies, your one-tap Zap reply (
quickReplyText), and the "Please continue" button — via the same shared exclusion set as the nudge (existing-reply-texts.ts); annotates the rest with their status from the shared nudge ledger (quick_reply_nudges). - Sorted most-repeated first, dismissed rows sink to the bottom, capped at 100 — so a big backlog surfaces the best fresh candidates first.
- Dismiss records the phrase in the ledger (a
dismissed_atstamp), which also permanently stops the inbox nudge from raising it again. - The list is fetched when you open the tab (and on Refresh) — never on every render.
Where it lives: src/main/services/quick-reply-nudge/eligible-phrases.ts (list logic), the dismissed_at column + dismissQuickReplyNudge in src/main/db/queries-quick-reply-nudges.ts, and src/renderer/src/features/quick-replies/components/EligiblePhrasesSection.tsx. Invariants: .claude/memory/contracts/eligible-phrases-contract.md. See also the repeated-phrase nudge.
Related
The repeated-phrase nudge surfaces the same phrases one at a time as you type them; this page is the "show me all of them" companion with a lower bar and a full list you act on yourself.
Last verified 2026-09-23