Every feature

The complete list. Each one is a line in config.toml you can switch off. plugin means you add it with one command; opt-in means it's off until you turn it on.

Answers as you type

↵ copies the answer.

Calculator and units12 * 3.5 · 1.5 gb in mb · 72 f in c
Epoch ⇄ date1697040000 · 2023-10-11T16:00:00Z · now
JSONPaste {"a":1}, get it pretty or minified
JWTDecoded header and payload
Base64b64 hello to encode, paste to decode
URL encodinga%20b · urlencode a b
Colours#ff8800 ⇄ rgb(255, 136, 0), with a swatch
UUIDType uuid for a fresh one

Plugins

Add only what you use: euclid-bar --plugin add <name>. They cost nothing until you add one.

github pluginYour PRs, review requests and issues, through the gh CLI
linear pluginLinear issues assigned to you
slack pluginJump to channels; slack <words> searches messages
contacts pluginPeople by name, company, email or phone
shortcuts pluginRun your Apple Shortcuts by name
define plugindefine serendipity from the macOS Dictionary
currency plugin100 usd to eur with daily rates, no API key
tokens pluginToday's Claude Code tokens and cost on the bar, from ccusage
cleanlinks pluginCopy a link and the clipboard gets it without utm_*, fbclid and other tracking junk
reveal plugin⇧⌘R on a file, project or app shows it in Finder
Write your ownA plugin.toml plus a script in any language that prints JSON lines: sources, answers, badges and actions. Hot-reloads on save
Let your AI write itThe format ships as AGENTS.md; --try-plugin shows what the bar would show
Share themAdd from any git repo, or point [plugins] paths at a team folder

Actions and keys

Every action is one shell line in your config.

ActionsRun any command on what you typed. Your query arrives as $1, passed as an argument, never pasted into the command
Action shortcuts⌘↵ runs your first action, ⌘1–⌘9 run the rest
Action palette⌘K: arrow keys, numbers or type to filter
Aliasesgh swift testing runs the GitHub action on "swift testing"
No match? Ask an agentWhen nothing matches, your actions show up, so a question is one ↵ from Claude, Codex, pi or a local model
Ghostty and herdrghostty-run and herdr-run open a tab, split or window. Readable scripts in ~/.config/euclid/bin
Preview pane→ or ⌘Y: the full clip, images, Quick Look, a project's README, a page's text
Copy anything⌘C copies the clip, a page's URL, or a path. ⌘⌫ deletes a clip

Without opening the panel

Text expansion opt-inType a snippet's keyword in any app and it turns into the snippet. Needs Accessibility
Per-command hotkeysGive any app, project, action or snippet its own hotkey in [hotkeys]. Its row shows it
Global hotkey⌥Space by default, any combination you like

AI, your way

Euclid has no AI of its own and no AI plan.

Bring your own agentClaude Code, Codex, pi, or anything with a CLI, as an action
Local modelsOllama or any local runner, no API key
MCP servereuclid-bar --mcp lets your agents search your clipboard, pages, notes and history. Read-only
Choose what's shared[agents] share picks what agents can see; [] shares nothing

Config and teams

~/.config/euclid/config.toml, made with comments on first launch.

Applies on saveA typo never breaks the app: the last good config stays active and the error shows in the footer
--check-configLints the file and flags unknown keys. Great in dotfiles CI
Team configinclude a shared file; your settings win and your actions stay first
ImportRaycast and Alfred snippets and quicklinks become TOML
Your shell and envActions run as a login shell; add variables in [env]
Your editorEdit Config… opens the editor you set, by app or command
Tokens stay out of the fileIntegrations read secrets with your own command: Keychain, 1Password CLI

Look and feel

Native and lightSwift and AppKit. No Electron, no web views
Liquid GlassOn macOS 26, switchable with glass = false
Grows with resultsThe panel is as tall as what it shows
Themes next betaDracula, Nord, Tokyo Night, Catppuccin, Gruvbox, Solarized, Monokai, or your own. Switch instantly
Your accent and densityaccent = "#ff8a3d", density = "compact"
Speed in the footer12,431 items · 0.6 ms on every search

Privacy

Local onlyClipboard, history, index and ranking live in ~/Library/Application Support/Euclid
Password managers ignored1Password and friends are never recorded; add more with ignore_apps
Usage stays yoursType usage for your last 30 days. Only counts are kept, never what you typed
No account, no telemetryThe app has no analytics. The licence is checked offline

Updates and licence

Auto-updateSigned and notarized updates, installed in the background. A menu toggle turns it off
Dev channelchannel = "dev" gets a build of every change
Pay onceFree for personal use during the beta. No subscription, ever

Missing something?

Write it as an action or a plugin, or tell us what you need.