Open-source, local-first AI autocomplete for macOS, with inline :emoji: suggestions.
Cotabby is free and open source. If it's useful to you, please consider supporting development
Cotabby brings AI autocomplete to the text fields you already use on macOS. It works system-wide, stays out of your way, and shows suggestions as ghost text beside your cursor. Press Tab to accept a word, keep pressing to take more, or keep typing to ignore it.
It also includes inline emoji autocomplete: type :smile, :tada, or :+1 and pick the emoji without leaving your current app.
Everything runs on-device. No hosted API, no cloud round-trip.
|
Slack |
Notes |
iMessage |
- System-wide completions -- Works in any macOS text field (Safari, Notes, Mail, etc.)
- Ghost text UI -- Suggestions appear as translucent overlay text at your cursor
- Inline emoji autocomplete -- Type
:emoji:-style shortcuts and insert the selected emoji without leaving your current app - 100% local -- AI inference and emoji matching run on-device
- Visual context -- Screenshot OCR gives the model awareness of what's on screen
- Low latency -- Optimized for fast response on Apple Silicon
Apple Intelligence: uses Apple's on-device FoundationModels runtime on macOS 26 or later, no download required.
Open Source: runs local GGUF models in-process through llama.cpp via CotabbyInference. Cotabby ships with four built-in downloadable models:
| Model | File | Size | Source |
|---|---|---|---|
tabby-1-nano |
SmolLM2-135M-Instruct-q8_0.gguf |
~0.1 GB | Mungert/SmolLM2-135M-Instruct-GGUF |
tabby-1-mini |
Qwen3-0.6B-Q4_K_M.gguf |
~0.4 GB | unsloth/Qwen3-0.6B-GGUF |
tabby-1-base |
gemma-4-E2B-it-Q4_K_M.gguf |
~3.1 GB | unsloth/gemma-4-E2B-it-GGUF |
tabby-1-pro |
gemma-4-E4B-it-Q4_K_M.gguf |
~5.0 GB | unsloth/gemma-4-E4B-it-GGUF |
Any GGUF small enough to run on-device works. Drop a .gguf file into Cotabby's models folder and refresh the model list from the menu bar.
Browse the unsloth GGUF collection on Hugging Face for more variants. Smaller quants (Q3_K_M, Q4_K_S) trade quality for size; larger models give better completions at the cost of memory and per-token latency.
Compatibility: Requires macOS 15.0 or later. Apple Intelligence suggestions require macOS 26 or later; on earlier supported systems, use the Open Source engine.
brew tap FuJacob/cotabby
brew install --cask cotabbyUpgrade later with brew upgrade --cask cotabby. The tap repo is FuJacob/homebrew-cotabby.
Download and install the latest release from cotabby.app.
- Accessibility: read the focused text field's value and caret position.
- Input Monitoring: detect global
Tabpresses, acceptance shortcuts, and inline emoji triggers. - Screen Recording: capture a screenshot around the focused field for visual context (OCR).
Requires Xcode and Command Line Tools. Apple Silicon is strongly recommended for local model performance. For setup, build, test, and contribution workflow details, start with CONTRIBUTING.md.
git clone https://github.com/FuJacob/cotabby.git Cotabby
cd Cotabby
open Cotabby.xcodeprojIf you want to understand the runtime and suggestion pipeline before contributing, read ARCHITECTURE.md.
Contributions are welcome. See CONTRIBUTING.md for setup, build, and PR guidelines, and CODE_OF_CONDUCT.md for community expectations. For a tour of the runtime and suggestion pipeline, read ARCHITECTURE.md.
- llama.cpp, CotabbyInference, Sparkle, and swift-log for the core runtime, update, and logging infrastructure.
- Apple's FoundationModels, Accessibility APIs, SwiftUI, and AppKit for the on-device generation and macOS integration layers.
- GitHub gemoji, Hugging Face, and the model teams listed above for the emoji data and downloadable model ecosystem.
- Everyone who has filed issues, tested prereleases, and contributed pull requests.
Originally created by @FuJacob, now developed and maintained by @FuJacob and @jam-cai.
Cotabby is licensed under the GNU Affero General Public License v3.0. You can use, study, modify, and redistribute the app, but if you distribute a modified version or make one available to users over a network, you must provide the corresponding source code under the same license.
Third-party dependencies, emoji data, and downloadable model weights keep their own licenses and usage terms.



