Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
In marimo notebooks opened in Cursor, ghost-text tab completions only appear in the first cell. Typing in any cell after the first produces no inline suggestions. Jupyter notebooks behave correctly in the same Cursor install, so this appears specific to marimo notebooks.
Steps to Reproduce
Reproducing this requires the marimo VS Code extension, which registers the marimo-notebook notebook type and is what causes .py files to open as notebooks rather than plain Python files.
It is available on the VS Code Marketplace and works in Cursor: marimo - Visual Studio Marketplace.
- Install this extension from the VS Code Marketplace
- Open a marimo notebook (
.pyfile), or create a new one:- Press Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux)
- Run “Create: Marimo notebook”
- Type in the first cell — ghost-text completions appear as expected.
- Click into the second cell (or any later cell) and type — no completions appear.
Expected Behavior
Tab completions fire in every cell of a marimo notebook, matching the behavior in Jupyter notebooks.
Operating System
MacOS
Version Information
Cursor: latest
marimo VS Code extension: 0.12.2
For AI issues: which model did you use?
Tab (inline completion). No specific chat model is involved.
Additional Information
I’m one of the maintainers of the marimo VS Code extension, and I spent some time trying to rule out anything on our side before filing. The issue here is derived from two filed in our repo:
Which I believe stem from an underlying issue in Cursor:
marimo notebooks are rendered using VS Code’s native notebook APIs and the standard vscode-notebook-cell:// URI scheme (the same primitives Jupyter uses). The only meaningful difference I can point to is that marimo notebooks are backed by .py files instead of .ipynb, so every cell in a notebook resolves to the same underlying relative path (for example, demo.py).
Our extension does not register any inline completion providers, does not manipulate the active text editor, and does not wrap or intercept notebook cell documents, so as far as I can tell the completion path runs entirely inside Cursor.
Happy to be wrong about any of the above. If a minimal repro outside of the marimo extension would help. For example, a hand-rolled notebook serializer that produces .py-backed cells.
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor