Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Vault - Not A Typo

Remi HOEPPERemi HOEPPE125 downloads

Syncs a markdown word list from your vault into Obsidian's custom spellcheck dictionary.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

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 and registers every word with your operating system's spellchecker — the same store used by right-click → Add to dictionary — so the underlines disappear, including on macOS where a custom JS provider has no effect. The word list is the source of truth: it travels with your vault (git, Obsidian Sync, sharing), and on any machine with the plugin installed the words are re-registered from the file.

Note: because the OS spellchecker dictionary is a single per-user store, registered words are system-wide and persist across restarts (visible to other apps while present). This is an accepted trade-off — the plugin makes the source list portable, not the effect isolated.


Installation

From the Obsidian community plugin browser (once listed)

  1. Open Settings → Community Plugins → Browse
  2. Search for Vault - Not A Typo
  3. Click Install, then Enable

Manual install

  1. Download the latest release from the Releases page
  2. Unzip and copy the vault-not-a-typo folder into your vault's .obsidian/plugins/ directory
  3. 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 entry per line. An entry can be a single word or a multi-word proper noun (e.g. Baldur's Gate) — write it the way you read it. Under the hood each entry is split into its component words and registered individually.
  • Lines starting with # are treated as section headers and ignored
  • Blank lines are ignored
  • List prefixes like - word and **word** markers are stripped automatically
  • Internal apostrophes and hyphens are preserved (Baldur's, Faerûn-born); each word is registered in its original, lowercase, and capitalized forms so it's accepted regardless of casing

Usage

  • On startup: the plugin reads your word list and registers it with the spellchecker.
  • After editing the word list: changes take effect automatically — the plugin watches dictionary.md and re-syncs a moment after you save. No restart needed.
  • Right-click to capture: select a word or phrase (or just place the cursor in a word) and right-click. If it isn't in your dictionary you'll see Add to vault dictionary; if it already is, you'll see Remove from vault dictionary. The entry is appended to (or removed from) dictionary.md and takes effect immediately. If the file doesn't exist yet, adding a word creates it.

Commands

Available from the command palette:

  • Vault - Not A Typo: Sync now — force a re-sync manually.
  • Vault - Not A Typo: Remove all managed words — un-register every word this plugin added and clear its record. Words you learned by hand (via Obsidian's own right-click) are never touched.

Disabling the plugin leaves registered words in place; use Remove all managed words first if you want a clean removal.


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. This plugin registers your words directly into the OS spellchecker dictionary via Electron's session.addWordToSpellCheckerDictionary (reached through the remote bridge Obsidian keeps available to plugins). This is the only layer that controls the native macOS underlines, which a custom JS spellcheck provider cannot override.

Syncing is a reconciliation: the plugin computes the full set of words your dictionary should register, diffs it against the set it previously added (tracked in data.json), and only adds or removes the difference. A word shared by two entries stays registered as long as any line still produces it, and words you added by hand are left alone. If the remote/session bridge can't be reached, the plugin shows a notice and does nothing rather than failing.

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.

git clone https://github.com/remihoeppe/vault-not-a-typo
cd vault-not-a-typo

main.js is the artifact Obsidian loads and is committed to the repo. main.ts is the parallel TypeScript source, kept in sync by hand — there is no build step. When changing behavior, edit both files identically. Drop the plugin folder into a vault's .obsidian/plugins/ directory to test.


License

MIT

HealthExcellent
ReviewPassed
About
Read a Markdown word list (one word per line) from your vault and inject its entries into Obsidian's spellchecker to stop proper nouns, place names, and invented words from being flagged. Suppress underlines for listed words while keeping the normal spellchecker active; desktop only.
EditingWriting
Details
Current version
1.1.0
Last updated
4 weeks ago
Created
Last month
Updates
2 releases
Downloads
125
Compatible with
Obsidian 1.0.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Remi HOEPPERemi HOEPPEremihoeppe
GitHubremihoeppe
  1. Community
  2. Plugins
  3. Editing
  4. Vault - Not A Typo

Related plugins

LanguageTool Integration

advanced spell/grammar checks with the help of language-tool.

LanguageTool

Unofficial integration of the LanguageTool spell and grammar checker.

Harper

The fastest grammar and spell checker that respects your privacy.

Advanced Tables

Improved table navigation, formatting, and manipulation.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Outliner

Work with your lists like in Workflowy or Roam Research.

Longform

Helps you write and edit novels, screenplays, and other long projects.

Creases

Tools for effectively folding Markdown sections.

Text Generator

Generate text content using GPT-3 (OpenAI).

Smart Composer

AI chat with note context, smart writing assistance, and one-click edits for your vault.