Kitty autocomplete

Completions that keep up with Kitty.

Kitty renders its own glyphs on the GPU and does not expose the caret through the standard path, so Easy Complete reads the cursor position from a bundled macOS input method instead.

Cursor trackingInput method Bundled macOS input method, registered during installation
Bundle IDnet.kovidgoyal.kitty
Process nameskitty
RequirementsmacOS 12 or later, Apple Silicon (ARM64)

Set it up

Install Easy Complete and approve Accessibility, then quit the terminal completely — macOS loads input methods when a process starts, so a reopened window is not enough.

ec doctor reports the shell hook and the input method separately, so it tells you which half is missing.

exec $SHELL
ec doctor

One process, many windows

Because Kitty keeps a single kitty process alive behind all its OS windows, re-registering the input method has no effect until that process actually exits.

If suggestions are misaligned after an update, quit Kitty with ⌘Q — not just the window — and reopen it.

ec integrations install input-method

Kitty tabs, splits, and shell state

Each Kitty window, tab, and split runs its own shell, so each one reports its own working directory and edit buffer. Suggestions follow whichever pane has focus.

If one split has completions and another does not, the second shell started before Easy Complete was running — reload it.

exec $SHELL

Keyboard controls

  • ↑ / ↓ moves through suggestions.
  • Tab / → accepts the highlighted suggestion.
  • Esc dismisses the popup.

Keep going