README.md

June 7, 2026 · View on GitHub

Cotabby logo

Cotabby [beta]

Open-source, on-device AI autocomplete for macOS.

landing-page download support

Build License: AGPL v3 Latest release Downloads Stars Swift Platform

Cotabby is free and open-source — maintained by two students. If it's useful to you, please consider supporting Cotabby's future.


What It Does

Cotabby adds AI autocomplete to almost any text field on your Mac. As you type, a gray suggestion appears inline next to your cursor. Press Tab to accept it a word at a time, or keep typing to ignore it.

Everything runs on your Mac. No account, no cloud, no telemetry.

Demo

Watch on YouTube →

Cotabby emoji autocomplete demoCotabby autocomplete demo
Cotabby autocorrect demoCotabby inline macros demo

Features

  • Ghost-text autocomplete — AI suggestions inline in almost any macOS text field; Tab accepts a word at a time
  • Emoji autocomplete — type :rocket: and accept it without leaving the field
  • Inline macros — type / for quick math, unit and currency conversion, dates, and random values
  • One-key autocorrect — fix a likely typo with a single keystroke

Privacy

Privacy is the whole point — everything that produces a suggestion happens on your Mac:

  • All AI runs on-device. There's no hosted API and no cloud round-trip.
  • No analytics, no telemetry, no crash reporting.
  • A normal install never writes what you type to disk.
  • The network is used only to download a model you pick and to check for updates — never to send your text, your screen, or your suggestions anywhere.

Engines

Cotabby generates suggestions one of two ways. You choose which in Settings → Engine:

  • Apple Intelligence — Apple's model, built into macOS 26 or later on supported Macs. Nothing to download.
  • Open Source — a small AI model you download that runs entirely on your Mac. Works on any supported Mac (macOS 14+), with or without Apple Intelligence.

If your Mac supports Apple Intelligence, that's the easiest place to start. Otherwise, use the Open Source engine and pick one of the built-in models:

ModelSizeGood for
tabby-2-nano~0.8 GBOlder or low-memory Macs; fastest
tabby-2-mini~1.4 GBA solid everyday balance
tabby-2-base~4.5 GBHigher-quality suggestions
tabby-2-pro~5.0 GBBest quality

Download any of them straight from Cotabby's menu bar.

Advanced: model files, custom models, and how generation works

Under the hood, the Open Source engine runs local GGUF base models in-process through llama.cpp (via CotabbyInference). Instead of prompting an instruction-tuned chat model, Cotabby treats the model as a pure text continuer and conditions it on your name, writing style, language, and on-screen context.

ModelFileSizeSource
tabby-2-nanoQwen3.5-0.8B-Base.i1-Q6_K.gguf~0.8 GBHugging Face
tabby-2-miniQwen3.5-2B-Base.i1-Q4_K_M.gguf~1.4 GBHugging Face
tabby-2-basegemma-4-E2B.i1-Q6_K.gguf~4.5 GBHugging Face
tabby-2-progemma-4-E4B.i1-Q4_K_M.gguf~5.0 GBHugging Face

Bring your own model. 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 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.

For the full suggestion pipeline, see ARCHITECTURE.md.

Install

Compatibility: macOS 14.0 or later. The Apple Intelligence engine needs macOS 26 or later on a supported Mac; on older systems, use the Open Source engine.

Homebrew

brew tap FuJacob/cotabby
brew install --cask cotabby

Upgrade later with brew upgrade --cask cotabby. The tap lives at FuJacob/homebrew-cotabby.

Manual download

Grab the latest release from cotabby.app and drag Cotabby into your Applications folder.

Using Cotabby

Start typing in almost any text field. When a gray suggestion appears:

  • Tab — accept the next word. (Prefer whole phrases? Switch this in Settings → Acceptance Mode.)
  • ` (backtick) — accept the entire suggestion at once.
  • Esc, or just keep typing — dismiss it.

Every shortcut is rebindable under Settings → Shortcuts.

Permissions

Cotabby works inside other apps, so macOS asks for a few permissions. Each one maps to a specific feature, and Cotabby walks you through them on first launch:

  • Accessibility — read the text and cursor position in the field you're typing in, and insert what you accept.
  • Input Monitoring — notice your typing so it knows when to suggest, and detect the accept keys.
  • Screen Recording (optional) — capture the area around your cursor for visual context. Leave it off and everything else still works.

Cotabby never reads password or other secure fields.

Local Development

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.xcodeproj

If you want to understand the runtime and suggestion pipeline before contributing, read ARCHITECTURE.md.

Contributing

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.

Acknowledgments

  • llama.cpp, CotabbyInference, Sparkle, and swift-log for runtime, updates, and logging.
  • Apple's FoundationModels, Accessibility, SwiftUI, and AppKit for on-device generation and macOS integration.
  • GitHub gemoji and Hugging Face for the emoji data and downloadable models.
  • SymSpell by Wolf Garbe (MIT) for autocorrect; dictionary from Google Ngrams (CC BY 3.0) and SCOWL.
  • Everyone who filed issues, tested prereleases, and sent pull requests.

Created by

Originally created by @FuJacob, now developed and maintained by @FuJacob and @jam-cai.

License

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. Bundled third-party notices (SymSpell and the autocorrect frequency dictionary) are reproduced in THIRD_PARTY_LICENSES.md.