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 Shell

Nhat Duy MaiNhat Duy Mai73 downloads

Open an interactive terminal inside your Obsidian workspace.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates7

An interactive terminal that runs inside your Obsidian workspace.

Vault Shell opens a real PTY-backed shell in a standard Obsidian pane. Dock it beside your notes, move it to the bottom of the workspace, or keep it as a tab wherever it fits your workflow.

Vault Shell terminal running inside an Obsidian workspace

[!IMPORTANT] Vault Shell 0.3.0 supports the Obsidian desktop app on macOS, Windows, and glibc-based Linux. It does not support Obsidian Mobile or musl-based distributions such as Alpine Linux.

Features

  • Open or focus the terminal with a ribbon icon or the command palette.
  • Start each shell in the root directory of the current vault.
  • Discover installed shells from the current environment, system shell lists, and standard installation locations on each operating system.
  • Add custom shell profiles with an executable and arguments from the plugin settings.
  • Create, switch between, and close multiple terminal sessions from a vertical manager.
  • Split terminals side by side in the same group and drag the divider to resize each pane.
  • Update each terminal label from its foreground process, then restore the shell name when the command exits.
  • Run interactive programs with ANSI colors, Ctrl+C, terminal resizing, and up to 5,000 lines of scrollback.
  • Keep sessions running when the terminal pane is closed, then reconnect when it is opened again.
  • Follow Obsidian's light or dark theme automatically.

Requirements

Requirement Version or details
Operating system macOS, Windows 10 1903 or later, Windows 11, or glibc Linux 2.31+
CPU architecture x64 or arm64
Obsidian 1.7.2 or later
Vault Local filesystem vault

Installation

Install Vault Shell from Settings → Community plugins:

  1. Turn on community plugins if they are disabled.
  2. Select Browse, search for Vault Shell, and select Install.
  3. Select Enable.

No Node.js, npm, compiler, or separate node_modules directory is required. The Community Plugins installer downloads the standard main.js, manifest.json, and styles.css files. main.js includes the native PTY runtimes for all supported operating systems and CPU architectures, then prepares only the matching runtime locally when the first terminal starts.

To install from source in a test vault instead:

cd "/path/to/Your Vault/.obsidian/plugins"
git clone <repository-url> obsiminal
cd obsiminal
npm install
npm run build

The plugin directory must remain named obsiminal. Node.js 24 or later and npm are required only when building from source.

Usage

Open the terminal in any of the following ways:

  • Select the terminal icon in the ribbon.
  • Run Vault Shell: Open or focus terminal from the command palette.

Once the terminal is open:

  • Drag the Terminal tab to dock it anywhere in the workspace.
  • Select + to create a terminal with the default shell.
  • Select the arrow beside + to choose another detected shell.
  • Select Split terminal on the toolbar to open another shell beside the active one.
  • Select a terminal in the right sidebar to switch sessions. Split sessions are shown as a connected group.
  • Drag the divider beside the terminal manager to resize the sidebar; double-click it to restore the default width.
  • Select × on a terminal row to close that session and terminate its process.

Choose the shell used by the + button under Settings → Vault Shell → Default shell. The automatic option keeps using the first shell detected from the Obsidian environment.

You can assign your preferred shortcut under Settings → Hotkeys.

Custom shells

Vault Shell detects common shells automatically, including cmd, Windows PowerShell, PowerShell 7, WSL, Git Bash, zsh, bash, fish, Nushell, and others. To add another shell:

  1. Open Settings → Vault Shell.
  2. Select Add shell.
  3. Enter a display name and the absolute path to the executable.
  4. Enter optional arguments with one argument per line.

For example, create a profile for a specific WSL distribution with the wsl.exe path and the two arguments -d and Ubuntu on separate lines. Custom profiles remain in settings when the executable is temporarily unavailable, but they appear in the terminal menu only while valid.

On Linux, if zsh is installed but does not appear in the shell menu, first find its path:

command -v zsh
test -x /usr/bin/zsh && echo "zsh executable: OK"

Then add a custom shell named zsh, use the absolute executable path (commonly /usr/bin/zsh or /bin/zsh), and enter -l as its only argument. Select that profile under Default shell or from the arrow beside +. A new session should report a value for $ZSH_VERSION; existing sessions keep their original shell.

Commands

Command Default hotkey Description
Vault Shell: Open or focus terminal None Opens the terminal pane or focuses the existing one.
Vault Shell: New terminal None Opens the pane and creates a new terminal session.
Vault Shell: Split terminal None Splits the active terminal into another pane.

Security and privacy

Vault Shell does not require an account, collect telemetry, or make network requests on its own.

To discover installed shells, Vault Shell uses the Node.js filesystem API to read /etc/shells on Unix systems and check shell paths found through environment variables and standard installation locations. These are read-only checks outside the vault; Vault Shell does not modify those files. When the first terminal starts, Vault Shell writes its bundled PTY runtime to the plugin's own prebuilds directory. It does not download code or dependencies.

The terminal itself runs with the same permissions as Obsidian and launches a real shell at the vault root. Commands entered in that shell can read, change, or delete files anywhere your user account can access, and they may connect to the network. Review commands before running them and use a test vault while evaluating the plugin.

Troubleshooting the PTY runtime

If the terminal reports that pty.node, conpty.node, or a PTY helper cannot be loaded:

  1. Quit Obsidian completely.
  2. Delete the prebuilds directory inside <vault>/.obsidian/plugins/obsiminal/. It contains only generated copies of the runtime bundled in main.js.
  3. Reopen Obsidian and start a terminal so Vault Shell prepares a fresh copy.

If the problem continues, reinstall the plugin from Community Plugins to replace main.js, then report the full error, operating system, CPU architecture, and Linux distribution when applicable. Alpine Linux and other musl-based distributions are not supported.

Development

Clone the repository anywhere on your machine, then link it into a test vault:

mkdir -p "/path/to/Test Vault/.obsidian/plugins"
ln -s "/absolute/path/to/obsiminal" "/path/to/Test Vault/.obsidian/plugins/obsiminal"
cd "/absolute/path/to/obsiminal"
npm install
npm run dev

After a source change, run Reload app without saving from Obsidian's command palette. You can also disable and re-enable the plugin.

Node.js 24 or later and npm are required for source builds. Linux source builds also require Python 3, make, and a C++ compiler because node-pty is compiled locally.

Run the complete quality check before submitting a change:

npm run validate

This command runs ESLint, Prettier checks, tests, TypeScript type checking, and a production build for the current host. The build writes the Obsidian plugin artifacts to the repository root:

  • main.js
  • manifest.json
  • styles.css

Official releases use a six-runner CI matrix to smoke-test and stage macOS, Windows, and Linux runtimes for x64 and arm64. The release job verifies those native binaries before running npm run build:universal; no runtime is downloaded by the installed plugin.

Project structure

  • VaultShellPlugin manages commands, the workspace view, and terminal sessions.
  • TerminalSession owns the PTY process and its lifecycle.
  • XtermSurface manages the xterm.js interface, scrollback, and theme.
  • TerminalView renders shell selection and session tabs.

Current limitations

  • Linux requires glibc 2.31 or later; musl-based distributions are not supported.
  • Windows requires the ConPTY API available in Windows 10 1903 or later.
  • Local filesystem vaults only.
  • Sessions do not survive an Obsidian restart, reload, or plugin disable.
  • Font and working-directory settings are not configurable yet.

Contributing

Bug reports and pull requests are welcome. Before opening a pull request, run npm run validate and test the plugin in a separate vault.

License

Vault Shell is available under the MIT License. It bundles node-pty, which is also available under the MIT License; its license notice is preserved in the generated main.js.

HealthExcellent
ReviewSatisfactory
About
Open a PTY-backed interactive terminal in an Obsidian pane and dock it beside notes, move it to the bottom, or keep it as a tab. Start shells in the vault root, discover system shells, run interactive programs with ANSI colors and 5,000-line scrollback, manage multiple sessions, split and resize panes, and keep sessions running when closed. Note: macOS-only early release.
InterfaceDevelopersAI
Details
Current version
0.3.0
Last updated
3 weeks ago
Created
Last month
Updates
7 releases
Downloads
73
Compatible with
Obsidian 1.7.2+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Nhat Duy MaiNhat Duy Maimainhatduy
GitHubmainhatduy
  1. Community
  2. Plugins
  3. Interface
  4. Vault Shell

Related plugins

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Agent Client

Chat with Claude Code, Codex, Gemini CLI, and more via the Agent Client Protocol — right from your vault.

Lean Terminal

Embedded terminal panel powered by xterm.js and node-pty - no external windows.

Hider

Hide interface elements such as tooltips, status bar, titlebar, and more.

BRAT

Easily install a beta version of a plugin for testing.

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Meta Bind

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

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

ChatGPT MD

A seamless integration of ChatGPT, OpenRouter.ai and local LLMs via Ollama into your notes.