Clipboard manager for macOS

Everything you copy, one shortcut away.

Trove remembers the text, links, images, files and code that pass through your Mac’s clipboard. Press ⌘Space, type a couple of letters and paste — and the history never leaves your computer.

Version 1.8 · Apple Silicon · signed and notarised · MIT licence

The Trove window: a list of copied items — a Slack note, a git command, a link to MDN documentation, an image, a colour, a PDF invoice — beside a preview of the selected link with the page title and thumbnail.

Your clipboard remembers one thing. You need more.

macOS keeps only the last thing you copied. One ⌘C too many and that address, contract clause or terminal command is gone.

Things get lost along the way

This morning’s link, yesterday’s invoice number, a colour from the mock-up — everything you copied is in Trove, grouped and dated.

Your data isn’t the product

The history, its index and its files live in a local SQLite database on your disk. No account, no sync, no telemetry.

Fast, even years later

History is unlimited, and a typical search across a million entries takes a few milliseconds. There’s nothing to tidy up.

Features

One window for everything you copy

The Trove palette opens over whatever app you’re working in. Pick a category, search and paste — all from the keyboard.

Clipboard history

Every kind of content, previewed

  • Text, links, images, files, colours, code and HTML — each with a preview that suits it.
  • Copy the same thing several times and you get one row with a ×N badge and the list of times.
  • Enter pastes straight into the window you came from; ⌘⇧V pastes it as plain text.
  • Pinned entries stay for good, even with history clean-up switched on.
Clipboard history with an image copied from Figma selected — on the right, a preview of the chart, its source, size and capture time.
Search

Finds “wrzesień” when you type “wrzesien”

Full-text search ignores diacritics — including Polish letters like “ł” — so you can type however is quickest and still land on the right entry before you finish the word.

A type filter narrows the list to just links, images or files.

Searching for “wrzesien” without Polish characters finds the entry “Faktura za wrzesień — termin płatności mija 30 września”.
Applications

A launcher that gets your shorthand

Category 1 lists every installed app, with its icon. “vsc” finds Visual Studio Code, “chrm” finds Chrome. An app you’ve just installed shows up without a restart.

The Trove app list: Calendar, Figma, Finder, Mail, Notes, Safari, Slack and more, each with its bundle identifier and folder.
Windows

Window snapping, Rectangle-style

Halves, quarters, maximise and centre — from the palette or with global shortcuts such as ⌘⌥←. Trove moves the window you were last working in, even if you opened the palette from the menu bar.

The Windows category: a list of arrangements — left, right, top and bottom half and the quarters — each with its keyboard shortcut.
Chat

An AI model in a window of its own

Talk to a model from Anthropic, OpenAI, OpenRouter or Z.ai using your own API key. Answers stream in as they’re written, with Markdown, tables and code blocks. The conversation lives only in the window’s memory.

Open it with 5 or ⌘K from the palette.

The Trove chat window with the claude-sonnet-4-5 model: a request for a release note and an answer with a heading, a list of changes and a table of shortcuts.
Import

Bring your history from Raycast or SuperCmd

Trove imports Raycast’s encrypted .rayconfig export as well as JSON and CSV files from Raycast and SuperCmd. The import runs entirely on your Mac, and running it twice creates no duplicates.

The history import wizard, warning that an archive may hold sensitive data, with buttons to choose an export file or folder.

Key vault

Category 3 lists the key names in your personal vault. The value goes straight to the clipboard and is never saved in the history.

Retention on your terms

History is unlimited by default. You can have Trove delete entries older than N days — pinned ones stay.

Lives in the menu bar

No Dock icon and no ⌘Tab entry unless you turn it on. The menu bar is also where you pause capture.

Export and statistics

Export the whole history to a folder, and see in settings how much space the database and files take up.

Privacy

By default: no network traffic at all

Clipboard content, queries and paths never reach the logs. Password managers mark their entries as concealed — Trove skips them before reading anything. You can also exclude any app you like.

The network comes into play in just three features, each of which you switch on yourself:

Trove features that use the network
FeatureWhat it sends, and whereHow to turn it off
Link previewsFetches the title, icon and image of a page you copied a link to. Ports 80 and 443 only, never local or private-network addresses.Settings → Links
ChatThe messages in the conversation — only to the provider you picked, with your key.Simply don’t open the chat
Key vaultA request to your own vault, and only once you enter that category.Sends nothing unless configured
How it works

Four steps, no set-up

  1. Install

    Download the DMG from GitHub Releases and drag Trove to Applications. Its icon appears in the menu bar.

  2. Copy as usual

    Trove quietly saves everything that reaches the clipboard — except excluded apps and password-manager entries.

  3. Summon the palette

    ⌘Space opens the palette over the current window. Keys 15 pick a category; just typing searches the history.

  4. Paste

    Enter pastes the entry into the window you were in. The first time, macOS asks for the Accessibility permission.

⌘Space belongs to Spotlight out of the box. Trove spots the clash and offers a button in settings that frees the shortcut — or hands it back to Spotlight. You can also pick any other combination.

A million entries, still milliseconds

Measured on 23 August 2026 on a synthetic history of one million records (Apple Silicon, using the trove-bench tool in the repository).

Search (p95)
3.2 ms
First page of results
2.8 ms
400th page of the list
3.4 ms
App memory
131 MB

To be fair: a query for a word that appears in much of the history takes hundreds of milliseconds (811 ms p95 for 600,000 matches), because every match has to be scored. Memory was measured on a debug build.

For developers

Rust, Tauri 2 and React

A Rust core (a workspace of over a dozen crates), a Tauri 2 shell and a React 19 interface in TypeScript. Data lives in SQLite in WAL mode, with an FTS5 index and a content-addressed file store.

Stack

  • Rust 1.96
  • Tauri 2
  • SQLite · FTS5
  • React 19
  • TypeScript
  • Vite
  • Vitest
  • pnpm 10
  • Node 22

Running it locally

You’ll need macOS with the Xcode Command Line Tools, Rust 1.96 (pinned in rust-toolchain.toml), Node 22 and pnpm 10.33. No environment variables are required.

pnpm install

# the interface in a browser, on synthetic data
pnpm dev

# the native app, with its own development database
TROVE_DATA_DIR="data/dev" pnpm tauri dev

Quality gates

cargo fmt --all --check
cargo clippy --workspace --all-targets --locked -- -D warnings
cargo test --workspace --locked
pnpm typecheck && pnpm test -- --run && pnpm build

Repository layout

  • apps/desktop-uiinterface: React + TypeScript + Vite
  • crates/trove-coreentities, canonicalisation, hashing
  • crates/trove-storeSQLite, migrations, CAS, writer
  • crates/trove-searchPolish normalisation, FTS5, ranking
  • crates/trove-importRaycast and SuperCmd parsers
  • crates/trove-launcherapp catalogue and launching
  • crates/trove-link-previewguarded preview fetching
  • src-taurilifecycle, IPC, permissions
  • tools/trove-import-cliimport and verification from the terminal
  • tools/trove-benchsynthetic history and measurements

Importing from the terminal

cargo run -p trove-import-cli -- analyze --source <directory-or-file>
cargo run -p trove-import-cli -- import  --source <…> --data-dir data/dev

Windows and Linux adapters exist in the code but have not yet been compiled or run on those systems — for now, Trove is a macOS app.