WriterBar in PopClip
PopClip puts a little bar above whatever you select. WriterBar can add its own buttons to it, so a rewrite is one click on text you already selected — no hotkey, no menu bar, no copying. Every action and snippet you have can become its own button.
PopClip is a separate app by Pilotmoon, sold separately. Get it at popclip.app.
No hotkey, no menu bar
PopClip's bar is already sitting above whatever you selected. WriterBar just adds its own buttons to it.
Every action, its own button
Not one generic command — Fix Grammar, Translate, Summarize, or anything custom you built each get a dedicated click.
Works everywhere PopClip does
Mail, Slack, Notes, VS Code, Safari — anywhere you can select text on your Mac.
Replaces in place
The rewrite streams in and lands exactly where your selection was. Nothing to copy, nothing to paste.
Three steps
- 1
Open WriterBar settings
Go to General for the command palette button, or open any action or snippet for a button that runs just that one.
- 2
Click “Add to PopClip”
WriterBar generates the snippet and hands it to PopClip. PopClip asks once, you confirm, and the button is live.
- 3
Select text anywhere and click it
The rewrite streams in, you accept it, and your selection is replaced in place — in any app PopClip works in.
A few ways people use it
Four of the built-in actions, each one its own PopClip button. See every built-in and how to build your own on the use cases page.
Slack or Discord
Select a hastily-typed reply before you send it.
Fix Grammar & Spelling
Mail or Notes
Select a paragraph that reads too casual for the recipient.
Make Professional
Safari or a browser-based doc
Select a passage in a language you want in your own.
Translate
Notion, Docs, or a long article
Select the part you do not have time to fully read.
Summarize
What the snippet looks like
You never have to write one of these — WriterBar generates it. It is here so you can see exactly what gets installed before you install it.
Quick WriterBar
Opens the command palette so you can pick any action. This one always sends the text in the link — see “Good to know”.
# popclip
name: "WriterBar"
identifier: app.writerbar.popclip.command-menu
icon: data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuNDEwNDIgMTcuMDQzN0gxMy4wNzMxQzEzLjM2MTYgMTcuMDQzNyAxMy41MTIyIDE2LjkxMDkgMTMuNTEyMiAxNi42ODc0QzEzLjUxMjIgMTYuNDU4IDEzLjM2MTYgMTYuMzM3MyAxMy4wNzMxIDE2LjMzNzNIMTEuNjY4MlY1LjE3Mzk4SDEzLjA3MzFDMTMuMzYxNiA1LjE3Mzk4IDEzLjUxMjIgNS4wNDcxOSAxMy41MTIyIDQuODE3NzdDMTMuNTEyMiA0LjU5NDM4IDEzLjM2MTYgNC40NzM2MyAxMy4wNzMxIDQuNDczNjNIOS40MTA0MkM5LjEyODE3IDQuNDczNjMgOC45Nzc2NiA0LjU5NDM4IDguOTc3NjYgNC44MTc3N0M4Ljk3NzY2IDUuMDQ3MTkgOS4xMjgxNyA1LjE3Mzk4IDkuNDEwNDIgNS4xNzM5OEgxMC44MjE2VjE2LjMzNzNIOS40MTA0MkM5LjEyODE3IDE2LjMzNzMgOC45Nzc2NiAxNi40NTggOC45Nzc2NiAxNi42ODc0QzguOTc3NjYgMTYuOTEwOSA5LjEyODE3IDE3LjA0MzcgOS40MTA0MiAxNy4wNDM3WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC44NSIvPgo8cGF0aCBkPSJNMS41MjY4MyAxNS4yMDgzQzEuODU5MjMgMTUuMjA4MyAyLjAyMjMgMTUuMDg3NSAyLjE0MTQ2IDE0Ljc1NTRMMi45NTA1MiAxMi42MTgySDYuNjUwODdMNy40NTk5MyAxNC43NTU0QzcuNTc5MSAxNS4wODc1IDcuNzQyMTUgMTUuMjA4MyA4LjA2ODI3IDE1LjIwODNDOC40MDA2OSAxNS4yMDgzIDguNjEzOTQgMTUuMDE1MSA4LjYxMzk0IDE0LjcxMzJDOC42MTM5NCAxNC42MTA1IDguNTk1MTEgMTQuNTIgOC41NDQ5NCAxNC4zODcyTDUuNjAzNDcgNi44NTIzOEM1LjQ1OTIzIDYuNDc4MDYgNS4yMDIwOCA2LjI5Njk0IDQuODAwNjkgNi4yOTY5NEM0LjQxMTgzIDYuMjk2OTQgNC4xNDg0NCA2LjQ3MjAyIDQuMDEwNDYgNi44NDYzNUwxLjA2ODk5IDE0LjM5MzJDMS4wMTI1NCAxNC41MjYgMSAxNC42MTY2IDEgMTQuNzE5MkMxIDE1LjAyMTEgMS4yMDA3IDE1LjIwODMgMS41MjY4MyAxNS4yMDgzWk0zLjI3MDM4IDExLjY5NDRMNC43OTQ0MiA3LjYzMTIzSDQuODI1NzlMNi4zNDk4MiAxMS42OTQ0SDMuMjcwMzhaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjg1Ii8+CjxwYXRoIGQ9Ik02LjM1ODI1IDdDNi40NTA1MiA3IDYuNTEyMDMgNi45MzgzOSA2LjUyNDMzIDYuODUyMTJDNi43MDg4NyA1LjY5MzY2IDYuNzA4ODcgNS42MDczOSA3Ljk2MzcxIDUuNDEwMjJDOC4wNDk4MyA1LjM5NzkgOC4xMTEzMyA1LjM0MjQzIDguMTExMzMgNS4yNUM4LjExMTMzIDUuMTU3NTcgOC4wNDk4MyA1LjEwMjEyIDcuOTYzNzEgNS4wODk4MUM2LjcwODg3IDQuODkyNjEgNi43MDg4NyA0LjgwNjM0IDYuNTI0MzMgMy42NDc5QzYuNTEyMDMgMy41NjE2MyA2LjQ1MDUyIDMuNSA2LjM1ODI1IDMuNUM2LjI3MjE0IDMuNSA2LjIxMDYzIDMuNTYxNjMgNi4xOTgzMiAzLjY0NzlDNi4wMTM3OSA0LjgwNjM0IDYuMDEzNzkgNC44OTI2MSA0Ljc1ODk2IDUuMDg5ODFDNC42NzI4NCA1LjEwMjEyIDQuNjExMzMgNS4xNTc1NyA0LjYxMTMzIDUuMjVDNC42MTEzMyA1LjM0MjQzIDQuNjcyODQgNS4zOTc5IDQuNzU4OTYgNS40MTAyMkM2LjAxMzc5IDUuNjA3MzkgNi4wMTM3OSA1LjY5MzY2IDYuMTk4MzIgNi44NTIxMkM2LjIxMDYzIDYuOTM4MzkgNi4yNzIxNCA3IDYuMzU4MjUgN1oiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuODUiLz4KPHBhdGggZD0iTTE0Ljg2NzIgMUMxNC45NTQyIDEgMTUuMDIzMyAxLjA2MjMyIDE1LjA0MiAxLjE2Nzk3QzE1LjI1MzMgMi41MjI0NyAxNS41MDE1IDIuODU4MDQgMTYuOTQ5MiAzLjA2OTM0QzE3LjA0ODYgMy4wODE3NiAxNy4xMTEzIDMuMTU2NDggMTcuMTExMyAzLjI1NTg2QzE3LjExMTMgMy4zNDI4NyAxNy4wNDg3IDMuNDE3MjYgMTYuOTQ5MiAzLjQyOTY5QzE1LjUwMTUgMy42NDA5NyAxNS4zMTU0IDMuOTQ1OTMgMTUuMDQyIDUuMzQzNzVDMTUuMDIzMyA1LjQzNjk3IDE0Ljk1NDIgNS40OTkwMiAxNC44NjcyIDUuNDk5MDJDMTQuNzU1NSA1LjQ5ODkyIDE0LjY5MzEgNS40MzcyMyAxNC42ODA3IDUuMzM3ODlDMTQuNDYzMSAzLjk0NTkgMTQuMjIxMSAzLjY0MDk5IDEyLjc3OTMgMy40Mjk2OUMxMi42NzM2IDMuNDExMDQgMTIuNjExMyAzLjM0Mjg3IDEyLjYxMTMgMy4yNTU4NkMxMi42MTE0IDMuMTU2NDggMTIuNjczNyAzLjA4MTc2IDEyLjc3OTMgMy4wNjkzNEMxNC4yMjExIDIuODU4MDMgMTQuNDA3MiAyLjU0Njk2IDE0LjY4MDcgMS4xNjExM0MxNC42OTk0IDEuMDYyMDEgMTQuNzY4IDEuMDAwMTIgMTQuODY3MiAxWk0xNC44Nzc5IDIuMjYzNjdDMTQuODEzMiAyLjI2MzY3IDE0Ljc3MDEgMi4zMTIzNSAxNC43NTM5IDIuMzgyODFDMTQuNjI0NSAyLjk4OTgxIDE0LjY3NzkgMy4wMjI0NiAxNC4wMDM5IDMuMTMwODZDMTMuOTMzOCAzLjE0MTcgMTMuODkwNiAzLjE5MDc5IDEzLjg5MDYgMy4yNTU4NkMxMy44OTA4IDMuMzE1MjQgMTMuOTMzNiAzLjM2MzYgMTMuOTk4IDMuMzc5ODhDMTQuNjc3OCAzLjUwNDYgMTQuNjI0NCAzLjUzMTk2IDE0Ljc1MzkgNC4xMzM3OUMxNC43NzAxIDQuMTk4ODEgMTQuODEzMiA0LjI0ODA1IDE0Ljg3NzkgNC4yNDgwNUMxNC45NDI1IDQuMjQ3ODcgMTQuOTg1OCA0LjE5ODc0IDE1LjAwMiA0LjEzMzc5QzE1LjA5OTEgMy41MzIgMTUuMDcxOCAzLjUwNDYgMTUuNzU2OCAzLjM3OTg4QzE1LjgyMTQgMy4zNjM2NiAxNS44NjUgMy4zMTUzMSAxNS44NjUyIDMuMjU1ODZDMTUuODY1MiAzLjE5NjIzIDE1LjgyMTYgMy4xNDE3IDE1Ljc1NjggMy4xMzA4NkMxNS4wNzczIDMuMDA2MTkgMTUuMTA5OCAyLjk4OTczIDE1LjAwMiAyLjM3MjA3QzE0Ljk4NTggMi4zMTI1NiAxNC45MzcxIDIuMjYzODcgMTQuODc3OSAyLjI2MzY3WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC44NSIvPgo8L3N2Zz4=
requirements: [text]
javaScript: |
popclip.openUrl("writerbar://command-menu?text=" + encodeURIComponent(popclip.input.text));One action, one click
Runs a single action straight away. WriterBar fills in the id for you — use “Add to PopClip” on any action.
# popclip
name: "Fix Grammar"
identifier: app.writerbar.popclip.YOUR-ACTION-ID
icon: symbol:checkmark.circle
requirements: [text]
javaScript: |
const t = popclip.input.text;
if (t.length < 8000) {
popclip.openUrl("writerbar://run?action=YOUR-ACTION-ID&text=" + encodeURIComponent(t));
} else {
popclip.copyText(t);
popclip.openUrl("writerbar://run?action=YOUR-ACTION-ID&src=clipboard");
}Good to know
- A single-action button sends selections under 8,000 characters in the link, so your clipboard is left alone; longer ones go via the clipboard, because a link is not a document transport. The Quick WriterBar button only ever uses the link — WriterBar refuses a clipboard hand-off on that route, because it is the one route that needs no id and any web page can open it.
- WriterBar launches itself if it isn’t running, and still needs Accessibility permission to put the rewrite back where it came from. PopClip needs its own grant, separately.
- Buttons point at a specific action by id. Delete that action in WriterBar and the button will tell you so rather than failing quietly.
- Requires WriterBar 1.2.0 or later on macOS 14+.
Frequently asked
Start rewriting smarter.
Every AI action, custom workflow, and saved template — one keystroke away, anywhere on your Mac.
- Free plan included
- No credit card required
- macOS 14+