Open in Terminal

by ChenFeng
5
4
3
2
1
Score: 50/100

Description

Category: Coding & Technical Tools

The Open in Terminal plugin adds commands to launch your vault directory in your preferred terminal application. The core command opens a clean terminal window at your vault's root without running additional scripts. Beyond that, you can enable optional commands for Claude Code, Codex CLI, and Gemini CLI that open the terminal and automatically execute their respective tools. Settings let you specify which terminal app to use like Terminal or iTerm on macOS, cmd.exe or PowerShell on Windows, and gnome terminal or alacritty on Linux. The plugin handles platform-specific launch strategies cleanly, avoiding unnecessary shell overhead while offering debug logging for troubleshooting when needed.

Reviews

No reviews yet.

Stats

51
stars
34,824
downloads
13
forks
235
days
43
days
43
days
4
total PRs
1
open PRs
0
closed PRs
3
merged PRs
9
total issues
2
open issues
7
closed issues
28
commits

RequirementsExperimental

  • Claude Code

  • Codex CLI

  • Gemini CLI

Latest Version

README file from

Github

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 terminal command 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, or opencode respectively.
  • Optional Git commands:
    • Git: commit and push runs git add . && git commit -m "<default message>" && git push in a newly launched terminal.
    • Git: pull runs git pull in a newly launched terminal.
    • Git commands always use the vault root as their working directory, even when note-folder launching is enabled.
  • Cross-platform launch strategy with clean defaults (simple launches avoid extra shell commands).
  • Optional working-directory and macOS app-instance settings.

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 claude from 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.
  • Open at current note's folder – uses the active note's folder as the working directory; falls back to the vault root when no note is open.
  • Reuse existing terminal instance (macOS only) – uses open -a by default so macOS reuses the configured terminal application. Disable it to use open -na and force a new application instance.
  • 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.
  • 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 – launches use open -a <app> by default (or open -na <app> when the reuse setting is disabled); when running a cli command, the plugin creates a temporary .command script that is cleaned up after launch, avoiding AppleScript permissions.
  • Windows – uses start to launch cmd.exe, powershell, wt.exe, or other shells with the vault directory preselected; cli commands append the respective tool invocation or fall back to cmd.exe /K when 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

  1. Install dependencies: npm install
  2. Build once: npm run build
  3. 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 X.Y.Z to trigger the GitHub Actions release pipeline defined in .github/workflows/release.yml; keep the tag and manifest version in sync.
  • The workflow installs dependencies, builds the plugin, packages manifest.json, main.js, and optional styles.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.

About the author

I'm chenfeng. Besides Obsidian plugins I build small, permission-light Mac apps — like Command Reopen, which fixes Cmd+Tab for minimized windows. If this plugin saves you time, you can buy me a coffee.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Terminal
4 years ago by polyipseity
Integrate consoles, shells, and terminals.
Agent Client
3 months ago by rait-09
Bring AI agents into Obsidian via Agent Client Protocol (ACP), such as Claude Code, Codex and Gemini CLI.
Markdown Formatting Assistant
6 years ago by Reocin
This Plugin provides a simple WYSIWYG Editor for Markdown and in addition a command line interface. The command line interface facilitate a faster workflow.
Shell commands
5 years ago by Jarkko Linnanvirta
Execute system commands via hotkeys or command palette in Obsidian (https://obsidian.md). Some automated events are also supported, and execution via URI links.
Claude Sidebar
22 days ago by derek-larson14
Run Claude Code, Codex, and other agent CLIs in Obsidian
Hot Reload
2 months ago by pjeby
Automatically reload Obsidian plugins in development when their files are changed
Lean Terminal
3 months ago by Sascha D. Kasper
Embedded terminal for Obsidian powered by xterm.js and node-pty
Pieces for Developers
3 years ago by Pieces For Developers
Pieces' powerful extension for Obsidian-MD that allows users to access their code snippets directly within the Obsidian workspace
HK Code Block
3 years ago by Heekang Park
Obsidian plugin developed by Heekang Park; Make code block looking good on reading view
Console Markdown Plugin
4 years ago by Daniel Ellermann
An Obsidian plugin which renders console commands and their output.
Gnome Terminal Loader
3 years ago by David Carmichael
Advanced Debug Mode
a year ago by mnaoumov
Obsidian plugin that enhances debugging experience.
Workbuddian
15 days ago by jiang198012
Obsidian 插件:把本地 CodeBuddy CLI 或 Hermes agent 变成 vault 内 AI 聊天——流式回复、@引用、双后端切换。Obsidian plugin turning local CodeBuddy CLI or Hermes agent into an in-vault AI chat with streaming, @-references, and dual backends.
GitHub Integration
a year ago by Kirill Zhuravlev
Plugin that fetch your github stars into notes
Command Line
a year ago by Steven Stallion
Copy command lines from your notes to the clipboard.
Plugin REPL
2 years ago by readwithai
An in-note Read Evaluate Print Loop to execute JavaScript within Obsidian
YouTrack Fetcher
a year ago by Forketyfork
Obsidian plugin for creating notes out of YouTrack issues
Asciinema Player
8 months ago by Dinu Gherman
Asciinema player plugin to render asciicasts in Obsidian.
GH Links Shortener
10 months ago by David Barnett
Obsidian plugin to set shortened link text for pasted GitHub URLs