Open in Terminal
approvedby ChenFeng
Open your vault in a new terminal window or launch Claude Code, Codex CLI, or Gemini CLI directly from a terminal.
Open 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.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.