From d6e31bb40232e2e4b57a1cdf69eb19ad6692d081 Mon Sep 17 00:00:00 2001 From: Renan Rodrigues dos Santos Date: Sat, 7 Feb 2026 10:43:23 -0300 Subject: [PATCH] fix: use run.executable instead of activatedRun.executable for interpreter identification getInterpreterDetails, getSettingsPythonPath, and getExecutableCommand need the actual Python binary path, not the activated run command. Using activatedRun.executable breaks when environment managers set it to a wrapper command (e.g. pixi run ... python). This unblocks managers like conda and pixi from using wrapper commands in activatedRun without breaking the debugger, while remaining backwards-compatible since the two values are currently identical for all existing managers. --- src/extension/common/python.ts | 6 ++---- src/extension/debugger/adapter/factory.ts | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/extension/common/python.ts b/src/extension/common/python.ts index 2fadbf18..564fbe61 100644 --- a/src/extension/common/python.ts +++ b/src/extension/common/python.ts @@ -133,7 +133,7 @@ export async function getSettingsPythonPath(resource?: Uri): Promise { if (interpreter) { - const executablePath = interpreter.execInfo.activatedRun?.executable ?? interpreter.execInfo.run.executable; + const executablePath = interpreter.execInfo.run.executable; const version = interpreter.version; // Parse version string (e.g., "3.8.10" -> major: 3, minor: 8)