README file from
GithubShow All Hidden Files
An Obsidian desktop plugin that reveals every dot-prefixed hidden file and folder in the current vault, at any depth.
This plugin intentionally has no default exclusions. It can reveal sensitive or
high-volume paths such as .obsidian, .git, .venv, .env, .trash, and
.DS_Store.
Usage
- Install and enable Show All Hidden Files.
- Run Show All Hidden Files: Rescan hidden files from the command palette if hidden files were created after startup.
- Optional: add exact file or folder names in Settings > Community plugins > Show All Hidden Files > Ignored names to keep those names hidden anywhere in the vault.
The plugin also enables Obsidian's unsupported-file visibility setting while it is active, so non-Markdown hidden files can appear in the file explorer.
Behavior
- Reveals any vault-relative path with a segment beginning with
.. - Keeps ignored names hidden by exact file or folder name, independent of path.
- Skips ignored folders and any hidden files or folders inside them.
- Works for root-level and nested hidden paths.
- Does not rename, delete, or modify vault files.
- Does not follow symlinked directories during scans, to avoid recursive loops.
- Restores patched Obsidian internals and the previous unsupported-file setting when disabled.
Compatibility
This is desktop-only. It depends on Obsidian's local filesystem adapter and undocumented internals, so it may need updates if Obsidian changes those internals.
Security and privacy
- Uses Node.js filesystem APIs to scan the current vault.
- Uses undocumented Obsidian internals to register hidden paths in the file explorer.
- Reveals hidden files that may contain secrets or configuration.
- Does not use telemetry.
- Does not make network requests.
- Does not require an account or external service.
- Does not include ads or paid features.
Development
Install dependencies:
npm ci
Build the plugin:
npm run build
The build writes main.js, which Obsidian loads locally. main.js is generated
and is not committed to the repository.
Release
Releases are created by GitHub Actions when a semantic version tag is pushed.
The tag must exactly match manifest.json's version, for example 0.1.0.
The release workflow builds the plugin and attaches:
main.jsmanifest.json