Perplexed 0.4.0 — every setting searchable, on Obsidian 1.13
Perplexed 0.4.0 puts all 44 settings in Obsidian's settings search and turns the preamble and whitelist fields into real lists.
Perplexed brings source-cited research from Perplexity, Claude, Gemini, Perplexica / Vane, and LM Studio into your notes. 0.4.0 makes all 44 of its settings searchable, and rebuilds the settings tab so it can't hide its own rows.
Requires Obsidian 1.13 or later. If you're on an older Obsidian, it keeps you on 0.3.1.
Why care?
Perplexed covers six providers plus prompt libraries and per-folder research templates, and that takes 44 settings. On Obsidian 1.13 and later, none of them appeared in Obsidian's settings search: the tab was drawn by hand, in an API older than search. Finding "the LM Studio endpoint" meant scrolling past four other providers.
Hand-drawn tabs can also fail badly. In a sibling plugin, one row that threw while drawing on Obsidian 1.14 made every section below it disappear. 0.4.0 moves Perplexed onto Obsidian's declarative settings API, where Obsidian draws every row itself and indexes all of them.
What's new?
Search finds every setting. Type "Exa", "system prompt", or "Perplexica endpoint" in Obsidian's settings search and jump to the row.
Preambles and the frontmatter whitelist are lists. Add, delete, and drag to reorder, instead of editing comma-separated text. A user preamble's "attach always / only with return-images" is a dropdown, not a
:return-imagessuffix.Number fields tell you what's wrong. The Exa context budget, request timeout, and max images reject anything but a whole number above 0, with a message. Before, the edit was silently dropped.
Exa's settings follow its switch. The key, endpoint, and budget show only while "Use Exa retrieval" is on.
Fixed: "Reset prompts to default" could restore your own edits instead of the defaults, in a vault with no saved prompts, until Obsidian restarted.
Fixed: the Claude and Gemini notices said API keys could come from a
.envfile. They can't; keys live in settings.
Upgrade notes
Nothing to do. Every value in your existing settings is kept and read in place, and command IDs are unchanged, so your hotkeys keep working. After changing an API key or endpoint, run Reinitialize provider services (or reload the plugin), as before.
The tab's layout follows Obsidian's own: the provider sections, the five prompt sections, directory templates, and find images are groups with the same headings as 0.3.1. The three lists sit right after Directory templates. The short "Configure settings for…" lines under the Perplexity, Perplexica / Vane, LM Studio, and prompts headings are gone, and the "Prompts & text configuration" umbrella heading is folded into its five sections.
Under the hood
The settings tab implements
getSettingDefinitions()with nodisplay()override. Nested prompt keys bind through dot paths (prompts.enhancePrompt) ingetControlValue/setControlValue, which refuse keys the defaults lack.loadSettings()merged settings with a shallow copy, so in some vaultssettings.promptsand the list arrays were the default objects themselves. It now merges astructuredCloneof the defaults.Perplexed has tests for the first time: 24
node:testspecs, run bypnpm testwith no test framework, covering command registration (all 26 IDs), loading adata.jsonshaped like a real vault's, and the whole settings definition tree.Toolchain: built against
obsidian1.13.1, ESLint 10.12, typescript-eslint 8.71.1, eslint-plugin-obsidianmd 0.4.2, esbuild 0.28.2. Lint is clean at zero errors and zero warnings.onload()no longer logs the full settings object, API keys included, to the developer console.
Compatibility
minAppVersion: 1.13.0 (was 1.8.10). Desktop only, unchanged. No new dependencies.
Engineering changelog
changelog/2026-10-06_01.md: the full ship note, including how the tests were written red first.