Interactive Python Window REPL Error: "notebook controller with id 'pythonREPL' ALREADY exist"

Describe the Bug

Issue Description:
When using the Interactive Python Window in Cursor, I can successfully create and run cells using the “Run Cell” functionality. However, when attempting to execute code directly in the REPL input bar at the bottom of the interactive window, I receive the error:
“notebook controller with id ‘pythonREPL’ ALREADY exist”

Would appreciate any guidance on resolving this issue or if there are any known workarounds. Thanks!

Steps to Reproduce

Steps to Reproduce:

  1. Open a Python file with cell markers (#%%)
  2. Successfully run a cell using the “Run Cell” button
  3. Try to execute code in the REPL input bar at the bottom of the interactive window
  4. Error occurs: “notebook controller with id ‘pythonREPL’ ALREADY exist”

NB: f you press the arrow to the left of the bar it works, however pressing “enter” on the keyboard results in the error
In the recording, I first press enter three times producing the error and then click on the arrow.

Expected Behavior

Expected Behavior:

  • Should be able to execute code both in cells and in the REPL input bar
  • Similar functionality works correctly in VS Code

Screenshots / Screen Recordings

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 1.1.2
VSCode Version: 1.96.2
Commit: 87ea1604be1f602f173c5fb67582e647fcef6c40
Date: 2025-06-13T00:30:10.108Z
Electron: 34.5.1
Chromium: 132.0.6834.210
Node.js: 20.19.0
V8: 13.2.152.41-electron.0
OS: Darwin arm64 24.5.0

Environment Details:

  • OS: macOS 15.5 (Build 24F74)
  • Python Version: 3.12.11
  • Jupyter/IPython Components:
    • ipykernel: 6.29.5
    • jupyter_client: 8.6.3
    • jupyter_core: 5.8.1
    • jupyter_server: 2.16.0
    • jupyterlab: 4.4.3

Additional Information

Additional Context:

  • This issue is specific to Cursor
  • The same functionality works without issues in VS Code
  • The error suggests a potential conflict in the notebook controller initialization

Impact:
This issue prevents the use of the REPL input bar in the Interactive Python Window, limiting the interactive development experience in Cursor.

Does this stop you from using Cursor

Yes - Cursor is unusable

3 Likes

I get the same error when trying to input something into the input field in the interactive window more than one time. After the first time, I got this error:

Extension 'ms-python.python' CANNOT use API proposal: notebookVariableProvider. Its package.json#enabledApiProposals-property declares: contribEditorContentMenu, quickPickSortByLabel, portsAttributes, testObserver, quickPickItemTooltip, terminalDataWriteEvent, terminalExecuteCommandEvent, notebookReplDocument but NOT notebookVariableProvider. The missing proposal MUST be added and you must start in extension development mode or use the following command line switch: --enable-proposed-api ms-python.python. Note that the cursor and control proposals are only available for built-in extensions

A fix for this would be great! I’ve heard that forks of VSCode (like Cursor) can have issues with Microsoft extensions because they are not open-source themselves (although VSCode is), but hopefully this one is doable.

1 Like

Likewise. I get the same follow-up error as mentioned by Jakubbober.
Windsurf also suffers from the exact same issue.

I’m getting the same error as vruetten

can confirm. breaks the workflow a bit

same here, issue persists with version 1.1.6 and i get the following error when typing any code in the interactive window and pressing enter (weirdly no issues when selecting code and sending it to interactive)

notebook controller with id 'pythonREPL' ALREADY exist

here is the other error message i get

Extension 'ms-python.python' CANNOT use API proposal: notebookVariableProvider.
Its package.json#enabledApiProposals-property declares: contribEditorContentMenu, quickPickSortByLabel, portsAttributes, testObserver, quickPickItemTooltip, terminalDataWriteEvent, terminalExecuteCommandEvent, notebookReplDocument but NOT notebookVariableProvider.
 The missing proposal MUST be added and you must start in extension development mode or use the following command line switch: --enable-proposed-api ms-python.python. Note that the cursor and control proposals are only available for built-in extensions

problem disappears when i downgrade to 0.49

Hi all – thank you for raising this issue. We have fixed this in version 1.2 of Cursor, which will be shipping next week.

1 Like