README file from
GithubVault - Not A Typo
An Obsidian plugin that reads a markdown word list from your vault and injects it into Obsidian's spellchecker — so proper nouns like character names, place names, and invented words stop being flagged as errors.
Desktop only. Mobile is not supported.
The problem
Obsidian's spellchecker flags proper nouns as errors. The only native fix is to right-click each word and add it individually, which doesn't travel with your vault if you move or share it.
The solution
Keep a plain dictionary.md file inside your vault. This plugin reads it on startup and silently suppresses spellcheck underlines for every word in the list — while leaving the normal English spellchecker running for everything else.
Installation
From the Obsidian community plugin browser (once listed)
- Open Settings → Community Plugins → Browse
- Search for Vault - Not A Typo
- Click Install, then Enable
Manual install
- Download the latest release from the Releases page
- Unzip and copy the
vault-not-a-typofolder into your vault's.obsidian/plugins/directory - Open Settings → Community Plugins and enable Vault - Not A Typo
Setup
Create a file called dictionary.md in your vault root (or any path you prefer — you can change it in settings):
# Place names
Phandalin
Faerûn
Neverwinter
# Factions
Zhentarim
Lionshield
# Characters
Gundren
Sildar
Format rules:
- One word per line
- Lines starting with
#are treated as section headers and ignored - Blank lines are ignored
- List prefixes like
- wordor**word**are stripped automatically
Usage
- On startup: the plugin automatically reads your word list and registers it with the spellchecker
- After editing the word list: run Vault - Not A Typo: Sync now from the command palette to reload without restarting Obsidian
Settings
Open Settings → Vault - Not A Typo to configure:
| Setting | Default | Description |
|---|---|---|
| Dictionary file path | dictionary.md |
Path to your word list, relative to the vault root |
How it works
Obsidian runs on Electron (Chromium). This plugin uses Electron's webFrame.setSpellCheckProvider API to install a lightweight custom spellcheck provider. The provider accepts any word found in your vault dictionary and delegates everything else to the native webFrame.isWordMisspelled check — so the standard English dictionary continues to work normally.
Words take effect immediately after syncing; no Obsidian restart is required.
Compatibility
- Obsidian: 1.0.0 and above
- Platform: Desktop only (macOS, Windows, Linux)
- Mobile: Not supported
Contributing
Pull requests and issues are welcome. To build from source:
# Clone the repo
git clone https://github.com/remihoeppe/vault-not-a-typo
cd vault-not-a-typo
# Install dependencies (requires Node.js)
npm install
# Build
npm run build
The compiled output is main.js. The source is main.ts (TypeScript).
License
MIT