Skip to content

Allow ghostty terminal from external terminal osx, linux#286983

Merged
anthonykim1 merged 15 commits intomainfrom
anthonykim1/ghosttyExternal
Feb 22, 2026
Merged

Allow ghostty terminal from external terminal osx, linux#286983
anthonykim1 merged 15 commits intomainfrom
anthonykim1/ghosttyExternal

Conversation

@anthonykim1
Copy link
Copy Markdown
Contributor

@anthonykim1 anthonykim1 commented Jan 11, 2026

Allow ghostty to launch externally for Mac + linux! #284265

Run/debug with entry from launch.json:

Screen.Recording.2026-01-11.at.2.20.31.PM.mov

@anthonykim1 anthonykim1 self-assigned this Jan 11, 2026
Copilot AI review requested due to automatic review settings January 11, 2026 07:59
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for the Ghostty terminal application as an external terminal option on both macOS and Linux. The implementation includes platform-specific handling for launching Ghostty with proper working directory support and command execution.

Changes:

  • Modified default terminal configuration to use dynamic terminal detection instead of hardcoded constant
  • Added Ghostty-specific launch logic for macOS using open -na Ghostty.app --args with working directory flag
  • Added Ghostty-specific command execution logic for Linux using the -e flag
  • Added unit tests for Ghostty terminal spawning on both macOS and Linux

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.

File Description
src/vs/workbench/contrib/externalTerminal/electron-browser/externalTerminal.contribution.ts Updates configuration default to use dynamic terminal value from service instead of static constant
src/vs/platform/externalTerminal/node/externalTerminalService.ts Implements Ghostty support for both macOS and Linux, including special handling for working directory and command execution
src/vs/platform/externalTerminal/test/node/externalTerminalService.test.ts Adds tests for Ghostty spawning on macOS and Linux platforms

Comment thread src/vs/platform/externalTerminal/node/externalTerminalService.ts Outdated
Comment thread src/vs/platform/externalTerminal/node/externalTerminalService.ts Outdated
Comment thread src/vs/platform/externalTerminal/node/externalTerminalService.ts Outdated
Comment thread src/vs/platform/externalTerminal/node/externalTerminalService.ts Outdated
Comment thread src/vs/platform/externalTerminal/node/externalTerminalService.ts Outdated
Comment thread src/vs/platform/externalTerminal/node/externalTerminalService.ts Outdated
@anthonykim1 anthonykim1 changed the title Allow ghostty terminal from external terminal Allow ghostty terminal from external terminal osx Jan 11, 2026
@anthonykim1 anthonykim1 requested a review from Tyriar January 11, 2026 22:48
@anthonykim1 anthonykim1 marked this pull request as ready for review January 11, 2026 22:48
@anthonykim1 anthonykim1 added this to the January 2026 milestone Jan 11, 2026
@anthonykim1 anthonykim1 marked this pull request as draft January 26, 2026 18:28
@anthonykim1
Copy link
Copy Markdown
Contributor Author

anthonykim1 commented Jan 26, 2026

lets merge when I add linux support + test too.
currently setting up my linux vm :) trying to get them to work with using UTM + ubuntu arm on mac

@anthonykim1 anthonykim1 changed the title Allow ghostty terminal from external terminal osx Allow ghostty terminal from external terminal osx, linux Feb 20, 2026
@anthonykim1 anthonykim1 marked this pull request as ready for review February 20, 2026 21:38
@anthonykim1 anthonykim1 merged commit 8494e45 into main Feb 22, 2026
19 checks passed
@anthonykim1 anthonykim1 deleted the anthonykim1/ghosttyExternal branch February 22, 2026 06:43
@vs-code-engineering vs-code-engineering Bot locked and limited conversation to collaborators Apr 8, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants