Releases: upand0wn/open-powershell-here
Release list
0.7.1
0.7.1
🔒 Permissions
- No more direct filesystem access: the plugin no longer uses the Node.js
fsmodule at all, so the Direct Filesystem Access warning from Obsidian's automated plugin review no longer applies. It never reads, writes, or checks any file, inside or outside your vault. - The Shell Execution warning remains. Starting a terminal requires
child_process; this is inherent to the plugin and is explained in the README under Permissions & Security. No shell is involved (shell: false) and the target folder is always passed as a separate argument.
🔧 Changes
- Linux: installed terminals are no longer looked up by scanning
PATH. Candidates are started in the same order as before (preferred terminal, then the system default, then the rest alphabetically); one that is not installed is skipped and the next is tried. The terminal that worked is remembered for later clicks. - Linux: the Debian/Ubuntu
x-terminal-emulatordefault is now identified withupdate-alternatives --query x-terminal-emulator. - macOS: app bundles are tried with
/usr/bin/openin the same fixed locations as before (/Applications,/System/Applications/Utilities,/System/Applications,~/Applications) instead of being checked for existence first. macOS support is still not verified on a real Mac. - Windows: unchanged.
📦 Release Assets
main.jsmanifest.jsonstyles.css
0.7.0
0.7.0
🌟 What's New
- macOS Support (untested):
- The plugin now opens the built-in Terminal.app at the target folder on macOS, via
/usr/bin/open. - Ghostty or Kitty is used instead when selected under Style Settings → Preferred Terminal and installed in
/Applicationsor~/Applications. ⚠️ The macOS code path is covered by automated tests only and has not been verified on a real Mac. If it does not work for you, please open an issue.
- The plugin now opens the built-in Terminal.app at the target folder on macOS, via
- Linux Follows the System Default Terminal:
- No terminal is favoured any more. Auto-detect tries
xdg-terminal-execfirst, then the Debian/Ubuntux-terminal-emulatoralternative (followed to the real terminal). - Only if no default can be determined does it fall back to the first installed terminal among Alacritty, Foot, Ghostty, GNOME Terminal, GNOME Console, Kitty, Konsole, Ptyxis, WezTerm and XFCE4 Terminal (alphabetical).
- Behavior change: Ghostty is no longer picked first when it is installed. To keep using it, select Ghostty under Style Settings → Preferred Terminal.
- No terminal is favoured any more. Auto-detect tries
- Kitty in Style Settings:
- Preferred Terminal now offers Auto-detect, Ghostty, Kitty and Ptyxis (Linux only), and applies to both Linux and macOS.
- If the selected terminal is not installed, the plugin falls back to auto-detection.
🐛 Fixes
authorUrland the repository links now point at the current GitHub account (upand0wn); the oldethanffuURLs returned 404.- Notices and console log prefixes that still said "Open Terminal Here" now say Native Terminal Here.
- The "no terminal found" notice on Linux no longer recommends a specific terminal, and macOS has its own notice.
📝 Docs
- New Permissions & Security section in the README, explaining the two capability warnings from Obsidian's automated plugin review (direct filesystem access and shell execution): what they are used for and what they do not do.
- Linux terminal support is now described in distribution-neutral wording.
📦 Release Assets
main.jsmanifest.jsonstyles.css
0.6.0
0.6.0
🌟 What's New
- Ubuntu Default Terminal Support:
- On Ubuntu 25.10+ / 26.04 the plugin now uses the system default terminal (Ptyxis) automatically, via
xdg-terminal-exec. - New Linux terminals: Ptyxis and GNOME Console (kgx).
- Ptyxis always opens a new window, so the working directory is set correctly even when Ptyxis is already running.
- On Ubuntu 25.10+ / 26.04 the plugin now uses the system default terminal (Ptyxis) automatically, via
- Simpler Style Settings Panel:
- Removed the "Ribbon Button" and "Terminal Selection (Linux)" section headings.
- Preferred Terminal now offers only Auto-detect, Ghostty and Ptyxis. Other supported terminals (Konsole, Alacritty, Kitty, WezTerm, GNOME Terminal, XFCE4 Terminal, Foot, …) are still detected automatically.
- Kitty Fully Supported:
- Kitty has been tested and works fully with both the ribbon button and the right-click menu, opening in the target folder.
🐛 Fixes
- Fixed preferred-terminal matching for older Style Settings values (
gnome,xfce4). - The Linux terminal finder now always joins paths POSIX-style, so the test suite also passes on Windows CI.
🔒 Build & Release
- Release assets are now built by GitHub Actions and come with build provenance attestations. You can check them with
gh attestation verify <file> -R upand0wn/open-powershell-here.
📦 Release Assets
main.jsmanifest.jsonstyles.css
0.5.1
0.5.1 — Native Terminal Here (Multi-Platform & Linux Ghostty Support)
🌟 What's New
- Plugin Name: Renamed to Native Terminal Here to resolve community marketplace name collision.
- Linux Terminal Support:
- Full support for Linux terminals, prioritizing and strongly recommending Ghostty (tested on Arch Linux).
- Also compatible with Konsole, Alacritty, Kitty, WezTerm, GNOME Terminal, XFCE4 Terminal, Foot, etc.
- Full File Tree Coverage:
- Right-click any folder to open terminal in that folder.
- Right-click any file/note to open terminal in its parent directory.
- Enhanced Style Settings:
- Hide ribbon icon toggle.
- Terminal Selection (Linux): Select your preferred terminal emulator when multiple are installed.
- Unified Button Titles: Simplified to
Open Terminal here(context menu) andOpen Terminal at vault root(ribbon tooltip).
📦 Release Assets
main.jsmanifest.jsonstyles.css
0.5.0
0.5.0 — Open Terminal Here (Multi-Platform & Linux Ghostty Support)
🌟 What's New
- Project Renamed to Open Terminal Here: Evolved from PowerShell-only to a full multi-platform native terminal launcher. (Plugin ID
open-powershell-hereis preserved for seamless automatic updates). - Linux Terminal Support:
- Full support for Linux terminals, prioritizing and strongly recommending Ghostty (tested on Arch Linux).
- Also compatible with Konsole, Alacritty, Kitty, WezTerm, GNOME Terminal, XFCE4 Terminal, Foot, etc.
- Full File Tree Coverage:
- Right-click any folder to open terminal in that folder.
- Right-click any file/note to open terminal in its parent directory.
- Enhanced Style Settings:
- Hide ribbon icon toggle.
- Terminal Selection (Linux): Select your preferred terminal emulator when multiple are installed.
- Unified Button Titles: Simplified to
Open Terminal here(context menu) andOpen Terminal at vault root(ribbon tooltip).
📦 Release Assets
main.jsmanifest.jsonstyles.css
0.4.1
0.4.1 — address marketplace review warnings
Fixes the two warnings from the Obsidian marketplace review (no behavior changes):
- Source code: the Promise rejection reason in
version-probe.tsis now always anErrorinstance (review lintno-promise-reject-errors). - CSS: dropped
!importantfrom the "Hide the ribbon button" rule (review CSS lint) and raised selector specificity via.workspace-ribboninstead. Hiding is still enforced by both the CSS rule and the JS inline-style layer inmain.ts.
The Style Settings "Hide the ribbon button" toggle, the ribbon entry, and the single-folder context menu are unchanged and verified in real Obsidian (1.13.6).
Assets: main.js, manifest.json, styles.css, versions.json, plus the open-powershell-here-0.4.1.zip install bundle.
0.4.0
v0.4.0 — first release under the new identity
Rebranded. This is the first release under the new plugin identity:
- Display name: Open PowerShell Here (was "Vault PowerShell")
- Plugin id:
open-powershell-here(wasvault-powershell) — the install folder, enabled-plugins entry, and Style Settings storage key all use the new id - Author: ethanffu (was the former username ethanfu0124-bit)
- Repository: renamed to
ethanffu/open-powershell-here(old URLs redirect)
Upgrade note (one-time): if you installed any earlier version, remove the old
.obsidian/plugins/vault-powershell/folder after installing this one, then restart Obsidian. The plugin keeps no settings, so nothing is lost; only the Style Settings "Hide the ribbon button" toggle resets to its default.
Included features (verified in real Obsidian 1.13.6):
- Ribbon button → opens PowerShell 7+ at the vault root (hideable via Style Settings → Open PowerShell Here → Hide the ribbon button; hiding is enforced by CSS and JS, so it works regardless of theme/DOM changes)
- Single-folder context menu → Open PowerShell here opens pwsh in the right-clicked folder's real absolute path (vault root folder works too; no item for files or multi-selection)
- Windows Terminal hosting with
pwsh.exefallback; semicolon paths show a clear notice and start no process
Repo / docs housekeeping:
- Repository is public; README (English default + 简体中文), "Who is this for?" section, contributing docs, issue/PR templates, CODE_OF_CONDUCT, badges, BRAT beta-install note
- CI: lint + typecheck + 87 tests + build +
main.jssync check
Scope & constraints (unchanged):
- Windows + PowerShell 7+ only (5.1 not supported); local file system vaults only
- No commands, hotkeys, settings page, batch/file context menus, or embedded terminal
- No telemetry, no network, no vault modification; never invokes cmd.exe / powershell.exe / conhost.exe / shell:true; real sessions never use -NoProfile / -NonInteractive / -Command
Assets: main.js, manifest.json, styles.css, versions.json, plus the open-powershell-here-0.4.0.zip install bundle.
v0.3.0
⚠️ Legacy release (renamed plugin). This release predates the 2026-08-10 rename: it installs as plugin idvault-powershellwith the old display name "Vault PowerShell". Newer releases use idopen-powershell-here/ name Open PowerShell Here — after upgrading, remove the old.obsidian/plugins/vault-powershell/folder (the plugin keeps no settings, so nothing is lost).
v0.3.0 — Style Settings: hide the ribbon button
New: with the Style Settings plugin installed, Settings → Style Settings → Vault PowerShell → Hide the ribbon button now hides the left ribbon button. Toggleable, verified working in real Obsidian (1.13.6). The single-folder context-menu entry is unaffected.
- The Style Settings block contains a single flat toggle (no extra group headings).
- How it works (and what was fixed): for
class-togglesettings, Style Settings applies the setting id as the class on<body>(addClassis ignored — this mismatch was why the toggle appeared to do nothing in the earlier revoked attempts). The setting id is now the body class, the CSS uses two selectors (the plugin's stablevault-powershell-ribbonclass plus a tooltiparia-labelfallback) withdisplay: none !important, and the plugin additionally enforces the hide via inline style through aMutationObserveron the body class — so hiding works regardless of theme CSS or ribbon DOM changes. - The ribbon element carries an icon-independent
vault-powershell-ribbonclass.
Also in this release:
- 87 automated tests (up from 84), including DOM-enforcement tests for the hide toggle.
- Docs updated: README (zh/en), MANUAL_TESTS.md (item #34), AGENTS.md.
- Install docs corrected: Option B (build from source) must copy
styles.csstogether withmain.js/manifest.json.
Scope & constraints (unchanged):
- Windows + PowerShell 7+ only (5.1 not supported); local file system vaults only
- Entry points: ribbon (hideable via Style Settings) + single-folder context menu; no commands, hotkeys, batch/file context menus, or embedded terminal
- No telemetry, no network, no vault modification; never invokes cmd.exe / powershell.exe / conhost.exe / shell:true; real sessions never use -NoProfile / -NonInteractive / -Command
Assets: main.js, manifest.json, styles.css, versions.json, plus the vault-powershell-0.3.0.zip install bundle.
v0.2.0
v0.2.0 — Open PowerShell from the folder context menu
New: right-click a single folder in the Obsidian file explorer → Open PowerShell here (terminal icon) → opens PowerShell 7+ in that folder's real Windows absolute path. The vault root folder is supported too.
- The ribbon still opens the vault root; both entries share one launch pipeline, one
pwshverification cache and one single-flight lock. - The menu item never appears for plain files, multi-selection, non-Windows platforms, or non-local (remote) vaults. No
files-menubatch entry, no commands, no hotkeys, no settings page. - Behavior change (semicolon paths): paths containing
;are no longer launched at all — Windows Terminal splits on;(verified). The plugin now showsPowerShell cannot be opened for paths containing a semicolon (;).and creates no process (not even the version probe). Thewt.exe-missing fallback to a directpwsh.exespawn is unchanged.
Also in this release:
- 84 automated tests (up from 63) covering the context menu, the shared cache/single-flight, reload without duplicate handlers, and the zero-process semicolon guard.
- Docs updated: README (zh/en), MANUAL_TESTS.md, AGENTS.md.
Manually verified in real Obsidian:
- Ribbon → vault root (2026-08-08)
- Folder context menu → right-clicked folder's absolute path (2026-08-09, core flow)
- Pending manual acceptance: semicolon-folder notice, root-folder right-click, file right-click, reload dedup (see MANUAL_TESTS.md #28–#33).
Scope & constraints (unchanged):
- Windows + PowerShell 7+ only (5.1 not supported); local file system vaults only
- No commands, settings, keybindings, batch/file context menus, or embedded terminal
- No telemetry, no network, no vault modification; never invokes cmd.exe / powershell.exe / conhost.exe / shell:true; real sessions never use -NoProfile / -NonInteractive / -Command
Assets: main.js, manifest.json, versions.json (no styles.css — the plugin ships no CSS), plus the vault-powershell-0.2.0.zip install bundle.
v0.1.1
v0.1.1 — Windows Terminal-hosted interactive PowerShell
Fix (important): the PowerShell window flash-closed when Obsidian was launched from Explorer (GUI process without a console). The formal session is now hosted in Windows Terminal (wt.exe) purely as the console window host, so pwsh receives real console handles. Falls back to a direct pwsh.exe spawn when wt.exe is missing or the vault path contains ; (wt splits on semicolons).
Also in this release:
npm run install:testnow registers the plugin in the test vault's enabled-plugins list (community-plugins.json) — no manual enable needed.- Full CI (
npm run verify) on Windows: lint, typecheck, 63 automated tests, build,main.jssync check.
Manually verified in real Obsidian (2026-08-08):
- Interactive PowerShell window opens from the ribbon; input/output work
Get-Locationequals the vault root;$PSVersionTable.PSVersion.Major>= 7- Session survives closing Obsidian; plugin auto-loads on vault open
Scope & constraints:
- Windows + PowerShell 7+ only (Windows PowerShell 5.1 is not supported)
- Ribbon button is the only entry point (no commands, settings, or embedded terminal)
- No telemetry, no network access, no vault modification; the plugin never invokes cmd.exe / powershell.exe / conhost.exe / shell:true
Assets: main.js, manifest.json, versions.json (no styles.css — the plugin ships no CSS).