Troubleshooting
Use this page when setup, skills, platform config, or vault health does not look right.
The Dashboard Says the Vault Is Not Set Up
Knowlery checks for .knowlery/manifest.json or KNOWLEDGE.md.
If the vault should already be initialized:
- Confirm
.knowlery/manifest.jsonorKNOWLEDGE.mdexists. - If the manifest exists, confirm it contains valid JSON.
- Reopen the dashboard.
- If it is missing or corrupted, run setup again or use maintenance actions from settings.
Node.js Is Not Detected
Node.js is required for skill registry browsing and optional tooling preparation.
Try this:
- Install Node.js from the official Node.js website.
- Restart Obsidian.
- Use the Node.js auto-detect button in Knowlery settings.
- If auto-detect fails, enter the Node.js path manually.
On macOS and Linux, GUI apps sometimes do not inherit the same shell PATH as your terminal. Manual path entry can be necessary.
Skill Browser Does Not Work
The skill browser depends on Node.js, npm, and the external skills CLI path used through npx skills.
Check:
- Node.js is installed and detected.
- npm is available.
- The search term is not empty.
- Network access is available.
- The external skills registry is reachable.
If the registry cannot be used, built-in and custom skills still work.
Built-In Skills Are Missing
Open Settings -> Knowlery, then check Skills installed in Diagnostics.
Built-in skills are expected at .agents/skills/<name>/SKILL.md.
If some are missing:
- Re-run setup in a test vault to compare expected output.
- Use the Skills section in settings to re-enable disabled skills when possible.
- Use maintenance actions to re-initialize or repair the vault if the installation is incomplete.
Agent Config Is Missing
Whichever platform is selected, Knowlery expects:
AGENTS.mdat the vault root.claude/CLAUDE.md.agents/rules/.agents/skills/
Use settings to regenerate agent config.
An Agent Ignores the Vault Rules
Every agent starts from the same three sources: your KNOWLEDGE.md (what the knowledge base is), the rules in .agents/rules/, and Knowlery's operating rules for the installed version (Obsidian CLI use, retrieval procedure, skills — rendered from the template, so fixes reach every vault). There are two entry files, each with a <!-- Knowlery managed:start/end --> block:
AGENTS.md, read by Codex, OpenCode, and Cursor. Those harnesses have no import syntax, so the block copies the sources in:KNOWLEDGE.mdfirst, then the operating rules, then every rule file (a "read these first" instruction was tried and OpenCode ignored it). The copy is regenerated from the files on every sync..claude/CLAUDE.md, read by Claude Code. Its block@-importsKNOWLEDGE.mdfirst, inlines the operating rules, and@-imports every rule file, so Claude gets the same context as hard injection. It does not importAGENTS.md.
Both blocks are regenerated on plugin load, rule add/remove, and knowlery sync, so edit KNOWLEDGE.md or the rule files, not the blocks. Anything you write outside the markers is kept.
Upgrading from a pre-1.5 vault:
KNOWLEDGE.mdcarried the old operating rules. Templates before 1.5 wrote## Operating Rules,## Knowledge Retrieval, and## Available SkillsintoKNOWLEDGE.md; Knowlery now supplies them in the entry files, and sinceKNOWLEDGE.mdis read or imported first, the old copies would put stale instructions ahead of the current ones. Sync (and every plugin load) removes the three sections and the template's own subsections under them. Sections of your own that sat under one of them as an###are kept and promoted to##in the same place; every other line is untouched. The original is saved once to.knowlery/backups/KNOWLEDGE.pre-1.5.md. If health still shows the "carries old operating rules" warning, the vault has not been synced by this version yet — reload the plugin or runknowlery sync.- If the vault already had a hand-written
AGENTS.md, the managed block is placed first and your text follows it. Much of that older text is usually redundant withKNOWLEDGE.mdnow; Settings → Regenerate agent config → Reset AGENTS.md discards everything outside the block (after a confirmation). Move anything worth keeping — say, an MCP source-priority rule — back in below the block afterwards. - Rules that lived in
.claude/rules/are copied into.agents/rules/(never deleted). Claude Code also auto-loads.claude/rules/, so until you remove that directory Claude sees those rules twice — harmless, but noisy. Delete.claude/rules/once you have confirmed.agents/rules/holds everything. .claude/CLAUDE.mdis converged in place: the loose@../KNOWLEDGE.md/@rules/*.mdimports (and a@../AGENTS.mdline from a 1.5 pre-release build) are replaced by the managed block; your own text stays after it.- A Knowlery-written
opencode.jsonis retired: OpenCode V2 no longer loads itsinstructionsarray, soknowlery syncremoves the two Knowlery entries (and the file when nothing you added remains).
Codex caps the combined project instructions at 32 KiB by default (project_doc_max_bytes); the generated block is around 10 KB.
Broken Wikilinks
Broken wikilinks mean Obsidian cannot resolve a link target.
Common causes:
- The target note was renamed or deleted.
- The link text has a typo.
- A note exists in a different folder with an unexpected title.
Fix the link or restore the target note, then run diagnosis again.
Orphan Notes
Orphan notes have no incoming wikilinks.
This is not always bad. Daily notes, inbox notes, or temporary notes can be orphaned by design. For knowledge pages, orphans often mean the page has not been connected back into the map.
Missing Frontmatter
Knowlery checks frontmatter only in the knowledge directories.
If a file in entities/, concepts/, comparisons/, or queries/ has missing frontmatter, compare it with SCHEMA.md and add the missing fields.
Optional Installs Failed
Optional installs run local commands on your machine.
If an install fails:
- Check that Node.js is detected when the item requires Node.
- Try the equivalent install command in a terminal.
- Restart Obsidian after installing external tools.
- Reopen setup or settings and re-run detection.
A Knowledge Bundle Will Not Install
Install validates the bundle before writing anything.
Common causes:
- The
.zipor folder does not contain aknowlery-bundle.jsonmanifest at its root. - The bundle id is path-unsafe, or an entry path tries to escape
Library/<bundle-id>/. - The same bundle is already installed at the same or a newer version — updates require a newer bundle version.
- The bundle has conformance errors — installing past them requires explicit acknowledgement in the install preview.
Ask the sender to re-export with a current Knowlery version if the manifest or paths look wrong.
Installed Bundle Knowledge Does Not Show Up in Answers
The /ask skill reads .knowlery/bundles.json and each relevant bundle's agent-index.json under Library/<bundle-id>/.
Check:
- The bundle appears in the Bundles section on the dashboard.
.knowlery/bundles.jsonlists the bundle.KNOWLEDGE.mdcontains the installed-bundles pointer block.- The vault's
/askskill is current — bundled skills refresh automatically when the plugin version changes.
When to File an Issue
Open a GitHub issue when you can reproduce the problem in a clean test vault and can include:
- Knowlery version.
- Obsidian version.
- Operating system.
- Active platform, either Claude Code or OpenCode.
- Steps to reproduce.
- Any relevant console errors.