Select text. Press a hotkey. Grammar fixed.
AI-powered text transformations for macOS — fix grammar, translate, rewrite, format — without leaving your app.
Free and open-source.
ClipSlop is a free, open-source AI writing tool for macOS that works in any app. Fix grammar, translate text, rewrite in different tones, format as email or Markdown — all with a keyboard shortcut. Use it as a simple AI grammar checker with a single hotkey, or chain multiple AI prompts into a full text transformation pipeline. Supports ChatGPT (free sign-in), OpenAI API, Anthropic Claude, Ollama (local models), and any OpenAI-compatible provider.
- Why ClipSlop?
- How it works
- Built-in prompts
- Keyboard shortcuts
- Features
- Comparison with other AI writing tools
- Install
- Requirements
- Acknowledgements
- License
- Support
Most AI writing tools make you copy text, switch to a browser, paste, wait, copy the result, switch back, paste. ClipSlop does it with a hotkey — right where you're already typing.
Fix grammar without thinking about it:
select text → ⌃⌘G → grammar is fixed in place. Done.
That's Quick Paste — assign any prompt to a global hotkey, and it runs inline: captures the selected text, transforms it, pastes the result back. You never leave your app.
Need more than one step? Chain transformations into a pipeline:
⌃⌘C → RB → TE → FE → done.
Each key picks a prompt from a navigable tree — RB Rewrite → Business, TE Translate → English, FE Format → Email. Every step is saved, arrow keys to go back, branch from any point. No browser, no copy-paste, no tab switching.
Free, open-source, works with any AI provider — ChatGPT, Claude, Ollama, or your own API.
Select text → ⌃⌘G → grammar fixed in place
Assign any prompt to a global hotkey. ClipSlop captures the text, runs the prompt, pastes the result — all in the background.
Select text → ⌃⌘C → Navigate prompts with keys → Chain transformations → Copy result
- Trigger — Select text anywhere, press
⌃⌘C. Text appears in a floating panel. - Navigate — Prompt tree with single-key mnemonics:
T→ Translate,R→ Rewrite,F→ Format. Drill into folders, pick a prompt — one keypress each. - Chain — Result becomes input for the next prompt. Translate → Elaborate → Format as Email. Each step saved.
- History — Arrow keys navigate the full transformation chain. Jump to any step, branch off.
- Use — Copy (
⌘C), edit (⌘E), save (⌘S), or keep chaining.
- Quick Paste — Assign a global hotkey to any prompt. Captures selected text, runs the prompt, pastes the result inline — you never leave your app
- Open & Run — Like Quick Paste, but opens ClipSlop and auto-runs the prompt so you can review, edit, or keep chaining
- Prompt shortcuts — Configure per-prompt in Settings → Prompts; shortcuts appear in the menu bar organized by folder
- Keyboard-first — Single-key mnemonics for prompt navigation, all actions have shortcuts
- Full pipeline — Chain unlimited transformations, navigate history with arrow keys, branch from any step
- Multi-provider — OpenAI (sign in with ChatGPT or API key), Anthropic, Ollama, CLI tools, any OpenAI-compatible API
- Nested prompt tree — Organize prompts in folders, each with a mnemonic key
- Built-in prompts — Translate (18 languages), Rewrite (7 tones), Format (7 tools), Dev (6 tools), Analyze (4), Convert
- Manual editing — Edit any result inline (
⌘E), saved as a history step - Find in text —
⌘Fsearch with highlighting across all display modes - Screen OCR — Capture and recognize text from any screen region with OCR (
⇧⌘2) - Blank editor — Open an empty editor (
⌃⌘N), write text, run prompts on it - Generate prompts with AI — Describe what you want, AI writes the system prompt
- Per-prompt settings — Override provider, display mode per prompt
- Import/Export — Share prompt configurations as JSON
- iCloud Sync — Prompts sync across Macs
- Temperature & reasoning — Per-provider temperature control, reasoning effort for ChatGPT models
- Multiple display modes — Plain text, Markdown (native or HTML renderer), HTML
- Adjustable UI — Opacity, size, theme, launch at login
[⌘/] // Your prompt — type // followed by your instruction to run a one-off custom prompt
[T] Translate → English, Finnish, Russian, Spanish, French, German, + 12 more
[R] Rewrite → Elaborate, Neutral, Professional, Warm, Business, Playful, Biblical
[F] Format → Fix Grammar, Clean Up, Beautify Code, Reformat, Email, Markdownify, HTMLify
[D] Dev → Add Comments, Beautify Code, Clean Logs, Explain Code, Explain Stack Trace, Naming
[A] Analyze → Summary, Explain Simply, TL;DR, Condense 20%
[C] Convert → HTML, Markdown
Some prompts ship with default global keyboard shortcuts (Quick Paste pastes the result inline, Open & Run opens ClipSlop):
| Shortcut | Prompt | Mode |
|---|---|---|
⌃⌘/ |
// Your prompt | Quick Paste |
⌃⌘⌥/ |
// Your prompt | Open & Run |
⌃⌘G |
Fix Grammar | Quick Paste |
⌃⌘F |
Reformat | Quick Paste |
⌃⌘T |
Translate → English | Quick Paste |
⌃⌘⌥T |
Translate → English | Open & Run |
⌃⌘⌥A |
Explain Simply | Open & Run |
Fully customizable — add your own prompts, folders, mnemonics, and global shortcuts in Settings → Prompts.
| Shortcut | Action |
|---|---|
⌃⌘C |
Trigger ClipSlop (selected text) |
⌃⌘V |
Process from clipboard |
⌃⌘N |
Blank editor |
⇧⌘2 |
Screen capture (OCR) |
⌘E |
Edit mode |
⌘F |
Find in text |
⌘S |
Save to file |
⌘O |
Open in TextEdit |
⌘D |
Cycle display mode |
⌘, |
Settings |
←→ |
Navigate history |
↑↓ |
Scroll text |
Space |
Page down |
Esc |
Close / Back |
| ClipSlop | RewriteBar | WritingTools | Cai | ClipboardAI | WritersBrew | Elephas | Fixkey | ShortcutAI | Raycast AI | PopClip | ChatGPT (web) | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Prompt chaining | ✅ Unlimited chaining, full history | ❌ One action | ❌ One action | ❌ One action | ❌ One action | ❌ One action | ❌ One action | ❌ One action | ❌ One action | ❌ Manual workflow | ||
| Keyboard-first | ✅ Single-key mnemonics, full pipeline navigation, global shortcuts for text fields (Quick Paste, Open & Run) and on-screen text (OCR) | // text commands |
❌ Mouse-driven | ❌ Browser UI | ||||||||
| Prompt organization | ✅ Nested folders with mnemonics | ❌ Chat history | ||||||||||
| Step history | ✅ Navigate back/forward, branch from any step | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | |
| Branching history | ✅ Branch from any intermediate step | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No |
| Provider freedom | ✅ ChatGPT sign-in (free), API keys, Ollama (local), CLI tools | ✅ 37+ providers, local models, Apple Intelligence | ✅ Gemini (free), OpenAI, Anthropic, Ollama, MLX local | ✅ Built-in local, Ollama, LM Studio, Apple Intelligence, cloud APIs | ❌ Built-in only (provider unclear) | ❌ Managed API only (no BYO keys) | ❌ OpenAI only | |||||
| Screen OCR | ✅ Capture any screen region (⇧⌘2) |
❌ No | ✅ Screenshot text extraction | ❌ No | ✅ OCR to Text AI | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No | ||
| Platform | ✅ macOS + Windows + Linux | ✅ macOS + Windows (native, works in any app) | ❌ Chrome extension only (browser text fields) | ✅ Web (any platform) | ||||||||
| Price | ✅ Free, open-source | ✅ Free, open-source | ✅ Free, open-source | ❌ $9.99–$39.99/mo | ❌ $48/year | ❌ $20/mo |
brew tap mekedron/tap
brew install --cask clipslopGrab the latest .dmg from Releases. Drag to Applications.
ClipSlop is not signed with an Apple Developer certificate, so macOS will block it on first launch. This is expected — I simply don't want to pay Apple $99/year for a developer account.
The app is safe. The source code is fully open, and all release builds are produced automatically by GitHub Actions — nothing is added to the binary that isn't in this repository.
To open ClipSlop:
- Drag
ClipSlop.appto your Applications folder - Double-click to open — macOS will show a warning and refuse
- Open System Settings → Privacy & Security
- Scroll down — you'll see "ClipSlop was blocked from use because it is not from an identified developer"
- Click Open Anyway, then confirm
You only need to do this once. After that, the app opens normally.
Because the app is unsigned, macOS may change its internal bundle identifier between versions. When this happens, previously granted permissions (Accessibility, Screen Recording) stop working. To fix this:
- Open System Settings → Privacy & Security → Accessibility
- Find ClipSlop in the list and remove it (select → click "−")
- Click "+" and re-add
ClipSlop.appfrom your Applications folder - Do the same for Screen Recording if you use the OCR feature
This is an unfortunate side effect of not having a signed app. Your prompts, providers, and settings are not affected.
git clone https://github.com/mekedron/ClipSlop.git
cd ClipSlop
swift build
# Or open Package.swift in Xcode → RunRequires macOS 14+ and Xcode with Swift 6.0+.
- macOS 14.0+
- An AI provider: sign in with ChatGPT (free), API key (Anthropic, OpenAI), local Ollama, or CLI tools
ClipSlop is built with these open-source libraries:
- KeyboardShortcuts by Sindre Sorhus — customizable global keyboard shortcuts
- LaunchAtLogin by Sindre Sorhus — launch at login support
- Sparkle — software update framework for macOS
- swift-markdown by Apple / Swift Project — Markdown parsing and rendering
- Textual by Guillermo Gonzalez — native SwiftUI Markdown rendering
- swift-rich-html-editor by Infomaniak — WYSIWYG rich HTML editor
- Lobe Icons by LobeHub — provider icons for OpenAI, Anthropic, Ollama, Claude, Codex
MIT License — see LICENSE.
If ClipSlop saves you time, consider buying me a coffee ☕
