| Action | What it does | Match condition and template |
|---|---|---|
| Open URL | Opens a URL you build in your default browser | Both |
| Copy | Copies to the clipboard | Both |
| Run Command | Runs a zsh command | Both |
| Translate | Translates on your Mac; shows a dictionary definition for a single word | None (a language pair only) |
| Replace All | Rebuilds the whole text with every match expanded | None |
| Paste Image | Holds a clipboard image for later | None |
Open URL
Opens a URL with the matched text inserted, in your default browser.
- The URL must start with a scheme such as
https:ormailto:. A template of just$0means the selected text is itself the URL. - When the selection goes into the URL's query, turn on "URL-encode inserted values". Spaces,
&and non-Latin text then survive. For a ticket key made of letters and digits going into the path, leave it off.
Open a Jira ticket from its key
This ships as a default rule with a placeholder domain. Replace it with your own Jira domain.
- Type
- Open URL
- Match condition
[A-Z]{2,10}-\d+- Ignore case
- Off
- URL to open
https://your-domain.atlassian.net/browse/$0
Selecting WT-3434 opens https://your-domain.atlassian.net/browse/WT-3434. With Ignore case off, a lowercase run like ab-12 in ordinary prose isn't picked up.
Open a GitHub issue or PR from owner/repo#123
Three groups, each inserted into a different part of the URL. GitHub opens pull requests from issue URLs too.
- Type
- Open URL
- Match condition
([\w.-]+)/([\w.-]+)#(\d+)- Ignore case
- Off
- URL to open
https://github.com/$1/$2/issues/$3
Selecting anthropics/claude-code#42 opens https://github.com/anthropics/claude-code/issues/42.
Open an order in an admin page, using a named group
Groups are inserted by name instead of number, so you don't have to recount them when the pattern grows.
- Type
- Open URL
- Match condition
ORD-(?<order>\d{6,})- Ignore case
- Off
- URL to open
https://admin.example.com/orders/${order}
Selecting ORD-104822 opens https://admin.example.com/orders/104822. The ORD- prefix is part of the match but not of the URL.
Search an internal wiki for the selection
An empty match condition makes this appear for anything you select. The text goes into a query, so URL encoding is on.
- Type
- Open URL
- Match condition
- empty
- URL to open
https://wiki.example.com/search?q=$0- URL-encode inserted values
- On
Selecting a phrase with spaces or non-Latin characters opens the search results with it correctly encoded.
Copy
Copies the matched text, or text built from the template, to the clipboard. With an empty template, the whole match is copied as it is.
While pinned, this action pastes at your cursor instead of copying.
Copy just the domain out of a URL
For when you want part of the selection rather than all of it.
- Type
- Copy
- Match condition
https?://([^/\s]+)- Text to copy
$1
Selecting https://pluck-now.com/guide/ copies pluck-now.com.
Run Command
Runs the template as a zsh command. Insert the selected text with $0 and the other placeholders. Output isn't shown in the panel.
The command runs as you, with your permissions. It can do anything you could type in a terminal. Don't set up rules or commands from sources you don't trust.
Inserted values aren't escaped; they become part of the command as they are. If the selection could contain spaces or punctuation, quote it in the template, as in "$0". Restricting the characters the match condition accepts makes it safer still.
Reveal a selected path in Finder
Opens a file path pasted into a log or a chat message in Finder.
- Type
- Run Command
- Match condition
(?:~|/)(?:[\w.-]+/)+[\w.-]+- Command to run
open -R "$0"
Selecting /Users/you/project/README.md opens Finder with that file selected. The match condition only accepts paths with at least two slash-separated parts and no whitespace, so an and/or in prose doesn't trigger it.
Translate
Works out which language of the pair you set the selection is in, and translates it into the other one. With Japanese as your language and English as the other language, English text gives you Japanese and Japanese text gives you English. There's nothing to switch. Text in a language outside the pair gets nothing, and neither do short phrases, IDs or URLs whose language can't be told with confidence.
Translation uses macOS's translation feature and runs on your Mac; the text isn't sent to an outside server. The first time you use a language pair, macOS may need to download language data, and the panel offers a button for it.
- Translate is a built-in feature. It has no match condition or template and always translates the whole selection. You can change its name, icon, whether it's enabled, and the language pair ("Your language" and "Other language"). In Settings it has its own "Translation" section, and it can't be deleted.
- The panel shows the original and the translation, at the bottom of the column and as wide as the rows. Long text scrolls within its box. You can select the translation and copy it.
- Translations have no ⌃+number. Pin or unpin one with the pin button on the panel or with ⌃⌘T.
- If the pair isn't supported, the translation fails, or the result is over 4,000 characters, the translation suggestion goes away.
Single words get the dictionary
When the selection is a single word (no spaces) in the other language, you get its definition from the macOS dictionary instead of a translation. If no definition is found, you get a translation. Words in your own language don't get a definition. The lookup also happens on your Mac, so the text isn't sent anywhere.
- Which dictionary is used is decided by the Dictionary app's settings. You can't choose it in Pluck.
- "Open in Dictionary" on the panel, or ⌃⌘T, opens the word in the Dictionary app.
- The dictionary is part of the Translate rule, not a rule of its own. Turning the Translate rule off turns off definitions too.
Replace All
Finds every place in the selected text that an Open URL rule matches, and rebuilds the whole text with each of them replaced by its URL. Use it to turn the keys scattered through a paragraph into links while keeping the prose intact.
Selected text
Please look at WT-1 and WT-2
Result
Please look at https://your-domain.atlassian.net/browse/WT-1 and
https://your-domain.atlassian.net/browse/WT-2
Replace All has no match condition or template of its own; you can change only its name, icon, and whether it's enabled. The conditions and URLs come from your Open URL rules, so adding an Open URL rule extends Replace All as well.
- Only Open URL rules are used. Copy and Run Command templates aren't.
- Open URL rules with an empty match condition aren't used either, since they would replace the whole text with a single URL.
- Where two matches overlap, the rule higher in the list wins.
- Inserted values aren't URL-encoded, because the result is prose rather than a URL.
- If replacing changes nothing, no suggestion appears.
The panel works a little differently for this one.
- ⌃+number replaces your selection with the rebuilt text. It writes to the clipboard and sends one ⌘V, so keep the text selected when you press it.
- Clicking the row only copies the rebuilt text, so a stray click can't rewrite your selection. While pinned, a click pastes as well.
Turn every ticket key in a note into a URL
Replace All itself needs no setup. If the Jira rule above is enabled, this already works.
- What you need
- One Open URL rule: match condition
[A-Z]{2,10}-\d+, URLhttps://your-domain.atlassian.net/browse/$0 - Replace All
- Left enabled
Select the line "WT-1234 and WT-5678 by Friday" and a suggestion appears with both keys turned into URLs. ⌃+number replaces the line you selected with it.
Paste Image
When you take a screenshot or copy an image from a browser, a single suggestion with a thumbnail appears. It doesn't react to text.
- It arrives already pinned. esc and clicks outside the panel leave it alone; close it with × or ⇧⌃⌘+number.
- Press it, or ⌃⌘+number, to paste the image at your cursor. This still works after you've copied something else, as long as the suggestion is there.
- Pinned images have a total size limit. Past it, further images aren't pinned and the panel says so. Close images you're done with using ×.
- Turn this rule off and Pluck stops reading images from the clipboard. If you never use it, turning it off is fine.
In Settings, this rule sits under "Rules for images" with an image tag.