---
title: Spell checking — catch typos while you write
weight: 12000
extra:
  summary: "Misspelled words are underlined in every prompt field, with replacements a tap away. You choose the dictionaries; you bring them."
  status: Shipped
---

Every field where you write a prompt — the conversation composer, an agent's
system and welcome messages, the auto-enrichment prompt — underlines misspelled
words and offers replacements. It runs entirely on your device: nothing you type
is sent anywhere for it. Spell checking is a local convenience, the same one your
keyboard already gives you elsewhere.

![A prompt field with three misspelled words underlined in red; the context menu
on the selected word lists replacement suggestions above the usual cut/copy and a
"Spell-check options…" entry.](/images/spell_check_suggestions.png)

## Why it matters

You build an agent by writing to it — a system prompt is code you author in
prose. A typo in an instruction is a bug, and the ones that slip through are the
ones you stop seeing after the third read. A quiet red underline catches them
while you write, so the prompt you save is the prompt you meant.

## How it works

Turn it on under **Settings → Spell checking**, or from the **"Spell-check
options…"** entry in any prompt field's context menu (right-click or
long-press). The same controls appear in both places: a switch to enable it and,
where the platform supports it, a list of dictionaries to check against.

Misspelled words get a red underline. Open the context menu on one and the top
entries are replacements — pick one and it's swapped in. Spell checking runs
entirely on your device against dictionaries already installed there; nothing you
type is sent anywhere for it.

Where the dictionaries come from depends on the platform:

- **On Android** the app uses the system spell checker — the same one your
  keyboard uses. The language follows your keyboard settings, so there's no
  separate dictionary list to manage.
- **On a desktop (Linux) build** the app checks against the spell-check
  dictionaries installed on your system. The options screen lists exactly the
  ones it finds, and you tick the languages you want; you can select several at
  once and a word only counts as misspelled when none of them accept it. With no
  language ticked, your system locale is used.

![The Spell checking settings page: an enable switch and a "Dictionaries" list of
the languages installed on the system, one of them ticked, with a note explaining
they come from the enchant library.](/images/spell_check_settings.png)

### Getting it working on Linux

The app uses **[enchant](https://abiword.github.io/enchant/)** — the standard
Linux spell-check library — which it loads at runtime (`libenchant-2`). enchant
doesn't hold any words itself; it hands the checking to a **backend**
(**hunspell** is the usual one) and reads that backend's **per-language
dictionaries**. So a working setup is three things: the enchant library, a
backend, and at least one dictionary. Install them from your distribution:

```bash
# Debian / Ubuntu
sudo apt install libenchant-2-2 hunspell-en-us
#   more languages: hunspell-de-de, hunspell-fr, hunspell-es, …

# Fedora
sudo dnf install enchant2 hunspell-en

# Arch
sudo pacman -S enchant hunspell hunspell-en_us
```

Each extra `hunspell-<language>` package you install adds that language to the
dictionary list in **Settings → Spell checking** the next time you launch the
app. If enchant isn't installed at all, spell checking simply stays off — nothing
breaks.

Bring-your-own extends here too: just as you bring your own model and your own
tools, on desktop you bring your own dictionaries.

## What it doesn't do yet

- **No bundled dictionaries.** The app checks against dictionaries your system
  already has; it doesn't ship or download any. On a desktop build with none
  installed, spell checking simply stays off until you add one.
- **No custom word list.** You can't yet teach it a project-specific word (a
  product name, an acronym) to stop flagging — it checks against the installed
  dictionaries as they are.
- **Android follows the keyboard.** On Android the checking language tracks your
  keyboard, so there's no in-app language picker there.
