"Open New External Terminal" does not correctly work with GNOME's default terminal emulator `ptyxis` . Fails to open window that is navigated to the directory

Open
#320,063 0 comments 1 reaction 1 assignee View on GitHub

@anthonykim1 is already working on this.

Since Jun 5, 2026.

Assessment

This issue has not been assessed yet.

Description

Summary

I am using Ubuntu 26.04 and it seems Ubuntu is now using ptyxis as its default terminal emulator.

In Visual Studio Code it is possible to set the setting

"terminal.explorerKind": "external", // use external terminal
"terminal.external.linuxExec": "ptyxis", // determines which, default is system terminal emulator

and this allows users to right-click on a directory in VSC's file exlplorer and open it in their terminal emulator. By that I mean that a new terminal emulator window appears and is navigated to the clicked directory.

This works with gnome-terminal and a variety of other terminal emulators but not with ptyxis. ptyxis sends a system notification stating its ready but it neither creates a new window or tab nor navigates to the clicked directory.

Does this issue occur when all extensions are disabled?: Yes

Version: 1.123.0
Commit: 6a44c352bd24569c417e530095901b649960f9f8
Date: 2026-06-03T11:29:03+02:00
Electron: 42.2.0
ElectronBuildId: 14159160
Chromium: 148.0.7778.97
Node.js: 24.15.0
V8: 14.8.178.14-electron.0
OS: Linux x64 7.0.0-15-generic
Steps to Reproduce:
  1. Install VS Code on a distro using GNOME, with ptyxis as the default terminal emulator
  2. Set the following VS Code settings:
"terminal.explorerKind": "external", // use external terminal
"terminal.external.linuxExec": "ptyxis", // determines which, default is system terminal emulator

this allows users to right-click on a directory in VSC's file exlplorer and open it in their terminal emulator. By that I mean that a new terminal emulator window appears and is navigated to the clicked directory

3.Right-click on a directory in the file explorer and click on "Open in External Terminal"

Image
Expected Behavior

A ptyxis terminal window (or tab) with the shell having been navigated into that directory.

E. g. if I open VS Code in a /home/kg/code and that directory contains a directory called subdir1, then clicking "Open In External Terminal" should create a ptyxis window (or at least tab) with pwd being /home/kg/code/subdir1

Actual Behavior

If there's no ptyxis window open, it starts ptyxis in the profile's default directory ($HOME in my case)

If there is already one, then I get a GNOME notification saying: "Terminal" is ready.

But nothing else happens.

Troubleshooting attempts

I tried passing -d in the "terminal.external.linuxExec" but that just results in errors in VS Code:

log.ts:460   ERR spawn 'ptyxis --new-window -d' ENOENT: Error: spawn 'ptyxis --new-window -d' ENOENT
    at ChildProcess._handle.onexit (node:internal/child_process:285:19)
    at onErrorNT (node:internal/child_process:483:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:89:21)

According to the ptyxis maintainer, this is a configuration issue but I've yet to figure out what the required configuration would be and why it's not the default for GNOME systems.

Actual Behavior

If there's no ptyxis window open, it starts ptyxis in the profile's default directory ($HOME in my case)

If there is already one, then I get a GNOME notification saying: "Terminal" is ready.

But nothing else happens.

Dominant language
TypeScript
Stars
193k
Forks
42.9k
PR merge metrics
PR metrics pending

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/vscode

All issues in microsoft/vscode

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.