Hidden Folders Access plugin for Obsidian

Canonical version: Hidden Folders Access plugin for Obsidian.

An Obsidian plugin that makes hidden root-level folders (names starting with a dot, e.g. .claude, .github) fully visible to Obsidian — file explorer, search, graph, metadata cache, and Bases — while keeping their names unchanged on disk so external tools (like Claude Code, git, editors, ...) keep working.

2026-04-15 - Show hidden folders in Obsidian

Why

Obsidian normally ignores any path starting with .. That makes sense for .obsidian/ and friends, but it means useful content stored in dot-folders can't participate in search, the link graph, or Bases. Renaming the folder breaks external tools. Symlinks break Obsidian Sync and cross-platform workflows.

This plugin solves the problem without touching the filesystem: pick which hidden root folders Obsidian should index, and the plugin injects them into the live vault cache.

The main use case I built it for: making .claude/ (skills, agents, commands, hooks, memory) queryable from inside Obsidian — so Claude Code configuration becomes a first-class citizen of the vault, searchable and linkable like any other note.

Features

  • Per-folder opt-in from the settings tab
  • Full integration: file explorer, Quick Switcher, search, graph, metadata cache, Bases, Dataview, and any plugin that uses the standard vault API
  • Live updates via filesystem watchers (create / modify / rename / delete)
  • Clean disable: turning a folder off (or disabling the plugin) removes every injected entry — nothing on disk is touched
  • Forgiving configuration: an enabled folder that has been deleted externally is silently skipped — no error notification — and the entry stays in settings so the folder is re-indexed automatically if it reappears
  • Desktop-only, cross-platform (Linux / macOS / Windows)

How it works

The plugin wraps two undocumented methods on Obsidian's desktop FileSystemAdapter (listRecursiveChild and reconcileFile) so whitelisted hidden paths skip the internal hidden-path filter and flow through reconcileFileInternal like normal files. A fs-watcher is registered for each enabled folder so changes propagate live. On disable, every injected entry is removed and the original methods are restored.

Compatibility

  • Obsidian 1.4+
  • Desktop only; mobile Obsidian does not expose the filesystem primitives this plugin relies on

Install

Not yet in the community catalog. Install via BRAT using the repo URL, or manually from the latest GitHub release.

References


About Sébastien

Ready to get to the next level?

Found this valuable? Share it with someone who needs it.

Join 6,000+ readers. Get practical systems for knowledge & AI. Free.

Subscribe ✨

Free: Knowledge System Checklist

A clear roadmap to building your own knowledge system. Subscribe and get it straight to your inbox.

6,000+ readers. No spam. Unsubscribe anytime.

Subscribe