---
title: Declutter unused quick replies (remove one you've stopped using)
---

# Declutter unused quick replies (remove one you've stopped using)

## What it is

When a saved quick reply goes unused for 30+ days, Omniscio notices and drops **one**
dismissible inbox card offering to remove it in a single tap — with an **Undo** (a button
on the toast, and Ctrl+Z) that restores it exactly. It runs entirely on your machine, uses
**no AI** (so it costs nothing and is instant), and never nudges you about the same reply
twice.

This is the exact reverse of the [Repeated-phrase quick-reply nudge](quick-reply-nudge.md):
that one offers to **save** a phrase you keep typing; this one offers to **prune** a saved
quick reply you have stopped using.

## Where to find it

The nudge arrives as a dismissible card in the **Inbox**, alongside your other alerts, and the
**Remove** action on that card is what deletes the reply — an **Undo** toast appears right after
(Ctrl+Z does the same job). The toggle that governs whether the nudge appears at all lives in
**Settings → Features**.

## How it behaves

### How to use it

1. **Just keep working.** A quiet background check (a few minutes after launch, then about
   every 6 hours) looks over your saved quick replies.
2. **A card appears** in the Inbox when a reply has gone dormant — e.g. _"Remove a quick
   reply you no longer use? — You haven't used the quick reply 'Thanks, sending now' in 45
   days (used 3 times in total). Remove it if you no longer need it. You can undo."_
3. **Click Remove.** The reply is deleted and a toast appears with an **Undo** button (Ctrl+Z
   works too) that restores it to its exact spot, name, and usage history — not a fresh copy.
4. **Not interested?** Dismiss (archive) the card. You won't be nudged about that reply again.

### What counts as "unused"

- A reply you **used before** but haven't used in 30+ days, **or**
- A reply you've **never used**, once it is at least 30 days old (so a brand-new reply is
  never nagged).
- "Used" counts every time you send it — from the composer, the Alt+S picker, or the one-tap
  buttons.

### What it never flags

- **Built-in default quick replies** (the ones Omniscio ships).
- **Folders and dividers** — only actual quick replies.
- **A building-block reply** — one referenced by another reply's prepend/append list, since
  removing it would quietly change that other reply.
- **Inbox-Pilot-eligible replies** — an auto-send reply available to the Inbox Pilot. The
  Pilot can fire those without recording a "use", so "unused" isn't reliable for them, and it
  would be wrong to offer to delete a tool your automation still relies on.

### Settings

**Settings → Features:**

- **Suggest removing quick replies you no longer use** (`unusedQuickReplyDeclutterNudgeEnabled`,
  default **on**). **Tips & Guidance** also gates it — turn that off and every inbox nudge,
  including this one, is silenced.

### How it works

- **One card per scan (a gentle drip).** Each scan raises at most ONE card — for the single
  most-dormant reply — so a big backlog of stale replies trickles out over days instead of
  flooding you.
- **Nudge once, ever.** A small local ledger (`quick_reply_declutter_nudges`) remembers every
  reply it has offered, so dismissing the card never makes it re-appear on the next scan.
- **100% local.** A tiny indexed query over your saved quick replies — no network, no AI, no
  cost.
- **One-tap Remove with real undo.** Removing reuses the same delete-and-restore machinery the
  Quick Replies screen uses, so an undo puts back the EXACT row (same list position, usage
  count, tags), not a lookalike.

## For agents

### Where it lives

`src/main/services/quick-reply-declutter/` (the scan + the scheduler),
`src/main/db/queries-quick-reply-declutter.ts` (the candidate finder + the ledger),
`src/shared/quick-reply-declutter.ts` (shared helpers + the card copy), the card carve-out in
`src/renderer/src/features/alerts/AlertInboxViewer.tsx`, and the setting in
`src/renderer/src/features/settings/sections/features/FeaturesSettings.tsx`. Invariants are
locked in `.claude/memory/contracts/quick-reply-declutter-nudge-contract.md`.

## Related

Its mirror image is [quick-reply-nudge.md](quick-reply-nudge.md), which offers to save a phrase
you keep typing rather than to prune a reply you have stopped using. To manage the library by
hand rather than one nudge at a time, see [quick-replies.md](quick-replies.md); the lower-bar list
of phrases you repeat lives in [eligible-phrases.md](eligible-phrases.md), and
[inbox-alerts.md](inbox-alerts.md) covers the Inbox and the alerts that arrive in it.
