Skip to content

quarto.path is not used directly when it points to a launcher/trampoline executable #1000

Description

@Yunuuuu

Bug description

When quarto.path is explicitly configured, I expect the VS Code extension to invoke that executable, or at least preserve it as the effective Quarto command used by the extension and the integrated terminal.

However, the extension appears to use the configured executable only for discovery. It then resolves the underlying Quarto installation path, likely from quarto --paths, and prepends the resolved internal bin directory to the integrated terminal PATH.

This breaks installations where the configured Quarto executable is a launcher or trampoline, such as Quarto installed through pixi. In this setup, the launcher is not just a path alias: it is responsible for setting up the runtime environment required by Quarto. The internal Quarto script inside the Pixi environment is not intended to be executed directly.

Therefore, the issue is that quarto.path is not treated as the authoritative executable path. Instead, the extension rewrites the terminal environment in a way that bypasses the configured launcher.

Configuration

{
  "quarto.usePipQuarto": false,
  "quarto.path": "/home/***/.pixi/bin/quarto"
}

Steps to reproduce

  1. Install Quarto through Pixi, for example with:
pixi global install quarto
  1. Configure the VS Code extension to use the Pixi launcher:
{
  "quarto.usePipQuarto": false,
  "quarto.path": "/home/***/.pixi/bin/quarto"
}
  1. Open VS Code / VS Code Remote with the Quarto extension enabled.

  2. Check the integrated terminal PATH.

The extension prepends:

/home/***/.pixi/envs/quarto/bin
  1. Run:
which quarto
quarto check

Actual behavior

quarto resolves to:

/home/***/.pixi/envs/quarto/bin/quarto

Running quarto check then fails with:

/home/***/.pixi/envs/quarto/bin/quarto: line 208:
/home/***/.pixi/envs/quarto/bin/tools/x86_64/deno: No such file or directory

This happens because the command bypasses the Pixi launcher at:

/home/***/.pixi/bin/quarto

Expected behavior

When quarto.path is configured, the extension should treat that path as the authoritative Quarto executable.

In this case, commands should use:

/home/***/.pixi/bin/quarto

rather than resolving and prepending the internal Quarto installation directory.

At minimum, the extension should provide an option to disable automatic modification of the integrated terminal PATH.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingvscode

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions