Skip to content

Enable opening notebooks without a kernel - #8039

Open
jtpio wants to merge 1 commit into
jupyter:mainfrom
jtpio:issue-3170-open-without-kernel
Open

Enable opening notebooks without a kernel#8039
jtpio wants to merge 1 commit into
jupyter:mainfrom
jtpio:issue-3170-open-without-kernel

Conversation

@jtpio

@jtpio jtpio commented Aug 18, 2026

Copy link
Copy Markdown
Member

References

Fixes #3170

Build on top of the upstream JupyterLab changes.

Code changes

  • Allow opening notebooks without a kernel
  • Test

User-facing changes

notebook-no-kernel.mp4

Backwards-incompatible changes

None

@github-actions

Copy link
Copy Markdown
Contributor

Binder 👈 Launch a Binder on branch jtpio/notebook/issue-3170-open-without-kernel

@jtpio jtpio added this to the 7.7.0 milestone Aug 18, 2026
@jtpio
jtpio requested a balanced review from Copilot August 19, 2026 06:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds standalone Notebook support for opening notebooks without starting or reusing a kernel.

Changes:

  • Enables the upstream no-kernel context-menu action.
  • Propagates no-kernel preferences through notebook URLs.
  • Adds an end-to-end test confirming no session starts.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
app/package.json Enables the no-kernel notebook plugin.
packages/application-extension/src/index.ts Applies no-kernel preferences when opening routed notebooks.
packages/docmanager-extension/src/index.ts Propagates no-kernel state to new tabs.
ui-tests/test/filebrowser.spec.ts Tests opening without a running session.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@jtpio
jtpio marked this pull request as ready for review August 22, 2026 06:10
@Daniele-Cangi

Copy link
Copy Markdown

Hi @jtpio, I tested this branch locally and found two edge cases around carrying the no-kernel state between the tree page and the notebook tab.

The first is that shouldStart === false is currently enough to serialize kernel=none, while the receiving page expands that back to { shouldStart: false, shouldReuse: false }. This changes the semantics of notebookStartsKernel=False: it should prevent auto-starting a kernel, but still allow reconnecting to an existing session.

The second is after explicitly opening with Notebook (no kernel). If a kernel is then started, kernel=none remains in the URL. Reloading the page therefore applies the no-reuse preference again instead of reconnecting to the running session.

I added regression coverage and a small fix on top of the current PR head (e2ef70022df07f2b15c2b1420dc124e4896148ef):

Daniele-Cangi@40217c3

The two regression tests fail on the original PR head and pass with the patch. The full Chromium filebrowser.spec.ts suite also passes (9/9). The reload case additionally verifies that it reconnects to the same session ID and that only one server session remains for the notebook.

Happy to open this as a small PR against your feature branch if that would be useful, or you can cherry-pick the commit directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: open a notebook without running kernel

3 participants