README file from
GithubOpen in Terminal
A simple Obsidian plugin that adds palette commands for launching the current vault in your preferred terminal or cli tooling.
Features
- Always-available
Open in terminalcommand that opens a new window of your configured terminal at the vault directory. - Optional commands for Claude Code, Codex cli, Cursor cli, Gemini cli, and OpenCode that you can enable individually — each reuses the same terminal app and runs
claude,codex,agent,gemini, oropencoderespectively. - Optional Git commands:
Git: commit and pushrunsgit add . && git commit -m "<default message>" && git pushin a newly launched terminal.Git: pullrunsgit pullin a newly launched terminal.
- Cross-platform launch strategy with clean defaults (simple launches avoid extra shell commands).
Commands
- Open in terminal – activates the configured terminal app and opens it at the vault root without running extra commands.
- Open in Claude Code – when enabled, opens the terminal app and runs
claudefrom the vault directory. - Open in Codex cli – when enabled, opens the terminal app and runs
codex. - Open in Cursor cli – when enabled, opens the terminal app and runs
agent. - Open in Gemini cli – when enabled, opens the terminal app and runs
gemini. - Open in OpenCode – when enabled, opens the terminal app and runs
opencode. - Git: commit and push – when enabled, opens the terminal app and runs
git add . && git commit -m "<default message>" && git push. - Git: pull – when enabled, opens the terminal app and runs
git pull.
Settings
The plugin adds a settings tab under Community Plugins → Open in Terminal with:
- Terminal application – text field for the current platform's terminal app name (macOS examples:
Terminal,iTerm; Windows:cmd.exe,powershell; Linux:gnome-terminal,alacritty). Settings are stored per platform for cross-device sync. - Enable Claude Code / Codex cli / Cursor cli / Gemini cli / OpenCode – toggles that add the corresponding commands to the palette.
- Git commands:
- Default commit message – used by
Git: commit and push(default:update). - Enable Git: commit and push – adds the Git commit+push command to the palette.
- Enable Git: pull – adds the Git pull command to the palette.
- Default commit message – used by
- Use WSL for commands (Windows only) – run terminal and command launches inside WSL.
Commands warn if the terminal application name is empty.
Platform notes
- macOS – simple launches use
open -a <app>; when running a cli command, the plugin creates a temporary.commandscript that is cleaned up after launch, avoiding AppleScript permissions. - Windows – uses
startto launchcmd.exe,powershell,wt.exe, or other shells with the vault directory preselected; cli commands append the respective tool invocation or fall back tocmd.exe /Kwhen necessary. - Linux / BSD – simple launches spawn the terminal directly with the vault as the working directory; cli commands fall back to
<terminal> -e bash -lc 'cd "$PWD"; …'with tweaks for GNOME Terminal and Konsole.
Development
- Install dependencies:
npm install - Build once:
npm run build - For watch mode while developing:
npm run dev
Copy the generated manifest.json, main.js, and styles.css (if added) into your vault's .obsidian/plugins/open-in-terminal/ folder to test locally.
Release workflow
- Tag commits with the format
vX.Y.Zto trigger the GitHub Actions release pipeline defined in.github/workflows/release.yml. - The workflow installs dependencies, builds the plugin, packages
manifest.json,main.js, and optionalstyles.css, and attaches them (as well as a zip archive) to the GitHub release. - Follow Obsidian's submission checklist before opening or updating the community plugins PR.