The Terminal plugin for Obsidian integrates powerful terminal functionality directly into your notes. It allows you to run external or integrated terminals, manage multiple terminal profiles, and provides an emulated developer console that works across all platforms. Features include terminal history saving, keyboard shortcuts for quick access, and the ability to customize terminal appearance. Users can also find text in the terminal, clear the terminal, and restart it. The plugin supports shell and terminal emulator profiles and offers various commands for a seamless terminal experience within Obsidian.
- theFoxCostReviewed on Dec 26th, 2025★★★★★ahh that let me use the AI cli tool directly
3.21.0
Minor Changes
- 51872cb: Add a new "Follow theme" option that makes the terminal automatically match Obsidian's colors and update when switching themes. (GH#74 by @davidszp)
- 7fe1a14: Start integrated
zsh,bash, and Git Bash sessions as login shells so user config files load properly and PATH behaves as expected. (GH#75 by @liuhedev) - 7fe1a14: Improve the profile picker by showing only terminal profiles compatible with your current OS, reducing clutter and avoiding unusable options. (GH#75 by @liuhedev)
- 5486c6a: Preserve terminal scroll position across state saves and tab switches by adding a single
scrollLinefield with a bottom sentinel. (GH#71 by @mokasz)
Patch Changes
6a6dbd8: Add Japanese translation (GH#68 by @oimus1976)
Added Japanese translation file and updated locales configuration.
39f6fd5: Fix invalid JSON in translation files: (GH#66 by @HNIdesu)
assets/locales/zh-Hans/translation.jsonassets/locales/zh-Hant/translation.json
The entry
components.select-profile.item-text-temporarycontained unmatched brackets, which caused parsing errors and broke localization loading. This patch corrects the brackets so the JSON validates properly.eae27fd: Widen modals to ensure they are usable on all themes by disabling
dynamicWidth. This makes the profile editor and list modals have a width that can be set by theme CSS. (GH#60 by @haydenholligan)