An Obsidian desktop plugin for Ghostty-style terminal surfaces inside your workspace. Open a shell in the right sidebar or main area, create terminal tabs and splits, and keep terminal context close to your notes.
Getting Started · Features · Requirements · Security · Build · Limitations
- Open Obsidian.
- Go to Settings -> Community plugins -> Browse.
- Search for GhostTerm.
- Select Install, then Enable.
- Run
Open terminalfrom the command palette.
You can also open the GhostTerm community plugin page and select Add to Obsidian.
Other install methods
- In BRAT, add
andyhtran/GhostTerm. - Select the latest release. No GitHub token is required for this repository.
- Enable GhostTerm in Obsidian's community plugin settings.
- Run
Open terminalfrom the command palette.
On first terminal start, GhostTerm writes its bundled PTY helper into the installed plugin directory. BRAT only needs the standard Obsidian plugin files from the release.
-
Download these files from the latest GitHub release:
main.js manifest.json styles.css -
Copy the files into
<vault>/.obsidian/plugins/ghostterm/. -
Enable GhostTerm in Obsidian's community plugin settings.
-
Build GhostTerm:
npm install npm run build
-
Copy these files into
<vault>/.obsidian/plugins/ghostterm/:manifest.json styles.css dist/main.js -> main.js -
Enable GhostTerm in Obsidian's community plugin settings.
- Terminal surface in Obsidian — open a Ghostty-style terminal in the sidebar or main workspace
- Tabs and splits — create terminal tabs, split right, split down, close focused surfaces, and restart exited shells
- Focused shortcut routing — terminal shortcuts are intercepted only while a GhostTerm terminal surface is focused
- Ghostty config subset — reads font, color, cursor, scrollback, shell, and basic keybind settings from Ghostty config files
- Working-directory context — open a terminal from the file explorer and start in the selected folder or file parent
- Shell environment repair — prepares a terminal-like
PATH, locale,TERM, dimensions, and shell environment for GUI-launched Obsidian - OSC metadata support — tracks terminal title, current working directory, and OSC 8 hyperlinks
Runtime:
- Obsidian desktop 1.8+
- macOS on Apple Silicon
- A local shell available on the system
Build:
- Node.js and npm for building the plugin
- Rust toolchain for building the PTY helper
GhostTerm starts a local shell through a bundled helper binary. Commands run with the same permissions as Obsidian and your user account. They can read, write, create, delete, or execute files that your user account can access.
GhostTerm supports terminal copy and paste through the system clipboard when you invoke terminal copy/paste shortcuts.
Use GhostTerm only in vaults and workspaces where running a local terminal is appropriate. Treat terminal output and shell commands with the same care you would in a standalone terminal application.
GhostTerm does not collect telemetry. GhostTerm does not require network access at runtime.
npm install
npm run check
npm run buildThe helper is built from pty-helper/ and embedded into dist/main.js during npm run build.
GhostTerm includes TypeScript plugin code and a Rust PTY helper. The plugin writes the helper into the installed plugin directory when a terminal starts. JavaScript dependencies are declared in package-lock.json; Rust dependencies are declared in pty-helper/Cargo.lock.
- macOS Apple Silicon is the supported platform.
- Unsupported platforms show an in-plugin message and do not start the helper.
- Ghostty config support covers font, color, cursor, scrollback, shell, and basic keybind settings.
- The plugin is desktop-only because it starts local processes.
