How it works

How to rewrite text in any app on your Mac

If you use a chat assistant to fix your writing, you are running the same eight steps many times a day. This is what replaces them, and how it works underneath.

6 min read··Written by the team behind KeigoButton

The loop you are currently running

  1. Select the text
  2. Copy it
  3. Switch to the assistant
  4. Paste
  5. Type the instruction — again
  6. Wait, then copy the result
  7. Switch back
  8. Select the old text and paste over it

Call it thirty seconds. The time is not really the problem — the interruption is. You left the message you were writing, and you have to rebuild where you were. Do it fifteen times a day and it is a meaningful part of your working attention.

What replaces it

A system-wide rewriting tool collapses those eight steps into two: invoke, and press your button. The text under your cursor is read, your saved instruction is applied, and the result is written back into the same field. Nothing is copied, nothing is switched to, and your clipboard is left alone.

The second half matters as much as the first. Because the instruction is saved rather than typed, you stop rewriting the prompt. "Make this polite but not stiff" is a button, not a sentence you compose for the four-hundredth time.

Before

cant make thursday, sorry. can we do next week instead? whenever works

After

Apologies — Thursday no longer works on my end. Could we move to next week? I'm flexible on the day, so whatever suits you best.

One press, in the reply field, without leaving it.

How it works underneath

macOS exposes the contents of other applications' text fields through the Accessibility API — the same interface screen readers use. A tool with that permission can read the focused field and write a replacement into it. This is why every app in this category asks for Accessibility access on first run, and why none of them can work without it.

  • Native apps (Mail, Notes, Word) expose their fields cleanly, and replacement is exact.
  • Browsers and Electron apps (Chrome, Slack, Notion, VS Code) expose them differently, so tools switch technique per app. This is where quality varies most between products.
  • Fallback. When a field cannot be written directly, tools synthesise keystrokes or use the clipboard. The clipboard route is the one that loses whatever you had copied — worth testing before you commit.

Setting it up

  1. Install a system-wide rewriting app — KeigoButton, Kerlig, FixKey and others all work this way.
  2. Grant Accessibility permission when asked. Without it the app can read nothing.
  3. Write two or three buttons for the edits you personally make most often. Be specific: "shorten to two sentences and keep the ask at the top" beats "improve".
  4. Test in the apps you actually use — especially Slack and your browser — before relying on it.

Try the rewriting in your browser firstFree, no install and no account — five a day.

Where KeigoButton fits

KeigoButton puts a small bar at the bottom of your screen. Hover it and your buttons fan out; press one and the text you are writing is replaced in place. The buttons are yours to write, and they sync to an iPhone keyboard so the same ones are there when you are replying from your phone.

Frequently asked questions

How do I use ChatGPT without switching apps on Mac?

Use a system-wide rewriting utility instead of the chat window. Apps such as Kerlig, FixKey and KeigoButton read the text in whatever field you are typing in, apply an instruction you saved earlier, and write the result back in place — so there is no copying, no app switch and no re-typed prompt. Apple Intelligence Writing Tools does the same thing for a fixed set of actions, free.

Can an app really replace text inside Slack or Gmail?

Yes, through the macOS Accessibility API. Browsers and Electron apps like Slack expose their text fields differently from native apps, so tools handle them with different techniques and reliability varies. Test your own daily apps during a trial rather than assuming it works everywhere.

Is it safe to give an app Accessibility permission?

The permission allows reading and replacing the contents of the focused text field. It does not grant screen recording or keystroke logging. Grant it only to apps you have a reason to trust, prefer notarized ones, and revoke it in System Settings › Privacy & Security › Accessibility whenever you like.

Does the text I rewrite get sent to a server?

For cloud-based tools, yes — the selected text is sent so the model can rewrite it. Tools that run local models keep it on the machine. With KeigoButton, only the text you explicitly send by pressing a button is transmitted; it is not retained on the server after the rewrite, and whether it may be used to improve the model is a setting you control.

Try it on your Mac

Free for 50 rewrites a month, no card required. macOS 14 or later, Apple silicon and Intel.