You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Automated terminal activation kills all running tasks in terminals #1375
When I run uv sync on a freshly-cloned project, VS Code detects the new virtual environment, and activates it in all terminals.
However, in order to do this, it sends an interrupt signal in all terminals, causing most running tasks to exit. This is incredibly annoying in some projects, especially as the action can sometimes occur randomly up to 2 minutes after the virtual environment is created.
To reproduce
git clone a Python project
Start up the project, eg by running uv run [program]
UV creates the virtual environment and starts the program
VS Code then immediately kills the freshly-started program
Why this is incredibly disruptive to my workflow
I work as a university tutor. I am currently assignment marking, and to do so I must uv run large numbers of student projects. Every time I do this, VS Code kills their project part-way through testing.
Could you try switching to shell startup? Then it wont send any activation command visible, but rather terminal would be ready from the start.
Please set python-envs.terminal.autoActivationType to shellStartup in your settings.
Also add "python.useEnvironmentsExtension": true, to your settings.json.
🤖 Thanks for the report and for confirming the workaround. Command-based activation is intentionally the default because it can activate environments in any shell; shellStartup is the non-disruptive opt-in for supported shells, and off is available where no automatic activation is wanted. The same Ctrl+C behavior was subsequently reviewed and closed as designed in #1570. Please continue using "python-envs.terminal.autoActivationType": "shellStartup" for this workflow.
Activity
anthonykim1 commentedon Mar 23, 2026
Could you try switching to shell startup? Then it wont send any activation command visible, but rather terminal would be ready from the start.
Please set
python-envs.terminal.autoActivationTypetoshellStartupin your settings.Also add
"python.useEnvironmentsExtension": true,to your settings.json.MaddyGuthridge commentedon Mar 23, 2026
Indeed that does work. Could it be a good idea to make that option be the default, as it (a) performs better and (b) is less disruptive.
joneuhauser commentedon Jun 22, 2026
On an SSH session, that config seems to be disabled. Instead i set
eleanorjboyd commentedon Sep 23, 2026
🤖 Thanks for the report and for confirming the workaround. Command-based activation is intentionally the default because it can activate environments in any shell;
shellStartupis the non-disruptive opt-in for supported shells, andoffis available where no automatic activation is wanted. The same Ctrl+C behavior was subsequently reviewed and closed as designed in #1570. Please continue using"python-envs.terminal.autoActivationType": "shellStartup"for this workflow.