nestedshell1 downloadsOpen a real terminal next to your note, already in its folder. macOS only.
A real terminal inside Obsidian, next to your note and already in its folder.

Notes often live next to code, scripts and project files. When you need to run a build, use git, or start claude or vim there, Embedded Mac Terminal opens your own shell in a split beside the note, already in the note's folder. You don't switch apps and you don't cd.
PATH and profile, full colors, mouse support and full-screen apps such as vim, htop or claude.@ # [ ] as in any Mac app, and ⌘-click opens links.It needs macOS 11 or later (Apple silicon or Intel) and Obsidian 1.7.2 or later. It doesn't run on Windows, Linux or mobile.
Open a terminal in one of three ways:

The terminal opens in a split next to the note, side by side or stacked. To tell your projects apart, right-click a terminal and choose Name and color…:

In Settings → Embedded Mac Terminal you choose the font size, the background, the startup art and where terminals open:

Type exit or press Ctrl+D to close a terminal. Terminals are saved with your workspace: after a restart they come back, and the shell starts when you press Enter.
The guide lists every command, setting and shortcut.
Obsidian tab ── xterm.js (draws the terminal)
│ keystrokes, output, resize
▼
mt-pty ── pseudo-terminal ── your login shell, in the note's folder
native/mt-pty.c) that runs the pseudo-terminal in its own process. No native code runs inside Obsidian, so Reload app can't crash it.mt-pty travels inside main.js with its SHA-256. Before starting it, the plugin checks it, copies it to a private temporary folder and runs it from there. There is nothing to download and no macOS security setting to change.PATH and profile are loaded even when Obsidian was opened from the Dock.mac-terminal-<version>.zip from the latest release and unzip it.mac-terminal folder into the folder that opens. Click the refresh icon and enable Embedded Mac Terminal.To update, copy the three new files into the mac-terminal folder and reload Obsidian. To build it yourself, see Development.
data.json, in its plugin folder) and a copy of its helper in $TMPDIR/mac-terminal-<user id>/. It also reads which shell your account uses and which locales are installed.main.js is native/mt-pty, compiled from native/mt-pty.c. The build is reproducible, and each release is built by GitHub Actions with a provenance attestation.It also protects you from hostile pastes, file names, links and terminal output: Security explains how.
MIT © nestedshell. Bundles xterm.js (MIT).