Skip to content
| Marketplace
Sign in
Visual Studio Code>Notebooks>Notebook Hot ReloadNew to Visual Studio Code? Get it now.
Notebook Hot Reload

Notebook Hot Reload

Dong Kyum Kim

|
77 installs
| (0) | Free
Auto-reload Jupyter notebooks in VS Code when .ipynb files change on disk. Essential for MCP server workflows (Datalayer, Claude Code, Cursor) where external processes modify notebooks.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Notebook Hot Reload

Auto-reload Jupyter notebooks in VS Code when .ipynb files are modified externally.

Problem

When external tools (MCP servers, CLI agents, scripts) modify .ipynb files on disk, VS Code's notebook editor does not automatically reflect the changes. You have to manually switch tabs or revert the file.

This is a known limitation that affects:

  • Jupyter MCP servers (Datalayer, Block, etc.) used with Claude Code, Cursor, or other AI agents
  • Remote/HPC environments where inotify doesn't work (GPFS, NFS, Lustre)
  • Any workflow where notebooks are modified outside VS Code

Solution

This extension polls open .ipynb files for changes and updates VS Code's in-memory notebook model directly using the NotebookEdit API. Only changed cells are replaced, preserving your scroll position.

Features

  • Polls open notebooks for disk changes (configurable interval)
  • Diff-based updates — only modified/added/removed cells are touched
  • Scroll position preserved — unchanged cells are not replaced
  • Handles code cells, markdown cells, outputs (text, images, errors), and execution counts
  • Works on any filesystem (no inotify dependency)
  • Works with Remote-SSH, WSL, and containers

Settings

Setting Default Description
notebookHotReload.enabled true Enable/disable hot reload
notebookHotReload.pollingInterval 1500 Polling interval in ms (500–10000)

How It Works

  1. When a Jupyter notebook is open, the extension polls the file's modification time
  2. When a change is detected, it reads the .ipynb JSON from disk
  3. It diffs the current cells against the new cells (source, kind, execution count, output count)
  4. Only the changed range is replaced via WorkspaceEdit + NotebookEdit.replaceCells()

Use Cases

  • Claude Code + Jupyter MCP: See notebook changes in real-time as Claude edits cells
  • Cursor / Windsurf + MCP: External agent modifications appear instantly
  • HPC / Remote-SSH: Works on parallel filesystems (GPFS, Lustre) where inotify is unavailable
  • Collaborative workflows: Any scenario where notebooks are modified outside VS Code
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft