microsoft / microsoft/vscode-python-debugger

Autoreload in VS Code Python Debugger Does Not Reflect Code Changes After Breakpoint

Open
#821 1 comment 0 reactions 1 assignee View on GitHub

@eleanorjboyd is already working on this.

Since Oct 16, 2025.

triage-needed
Dominant language
TypeScript
Stars
181
Forks
126
Avg merge
2d 3h
Merged PRs (30d)
3

Description

Description

I’m trying to use the autoreload feature described in here to enable a dynamic, interactive debugging experience.

Goal:

Allow users to modify code after hitting a breakpoint—before those lines have executed—and have those changes reflected in the debugger as if they were present from the start.
Based on the documentation, I believe autoreload should support this behavior.

Steps to Reproduce

  1. Enable autoreload in the VS Code Python debugger. This is my launch.json in .vscode.
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Moo: Current File",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "autoReload": {
            "enable": true
            }
        }
    ]
}
  1. Start a debugging script in the VS Code editor debugger (via the Run and Debug panel), not the Debug Console with the following sequence:
if __name__=="__main__"
    print('Moo') # Breakpoint here at the start
    print('Baa') # Breakpoint here at the start
    
    #print('Roar') # Uncomment these two lines when at the 'Baa' breakpoint, but before executing 'Baa'
    #print('Woof') # Uncomment these two lines when at the 'Baa' breakpoint, but before executing 'Baa'
    
    print('Quack') # Breakpoint here at the start
    print('Meow') # Breakpoint here at the start
    print('Done') # Breakpoint here at the start

Expected Behavior

The newly added lines should execute as if they were part of the original script when the debugger resumes.

Moo
Baa
Roar
Woof
Quack
Meow
Done

Actual Behavior

The output is

Moo
Baa
Quack
Meow
Done

The two added lines during debugging are ignored.

Environment

VS Code Version: 1.104.3
Python extension for VS Code: 2025.14.0
Python Debugger extension for VS Code:
2025.10.0
Python version: 3.12.10
OS: Windows_NT x64 10.0.26100

Question

Am I using autoreload incorrectly, or is this a bug in the debugger?

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.