Jupyter Collaboration

raw JSON →
4.3.0 verified Fri May 01 auth: no python

Real-time collaboration extension for JupyterLab and Jupyter Notebook 7+. Metapackage bringing together server-side (pycrdt-websocket-based) and client-side collaboration components. Current version 4.3.0, released 2025-05-01. Monthly release cadence.

pip install jupyter-collaboration
error ModuleNotFoundError: No module named 'jupyter_collaboration'
cause The metapackage is not installed, but may be listed as a dependency.
fix
Run: pip install jupyter-collaboration
error Extension @jupyter/collaboration-extension failed to load: unable to import 'jupyter_collaboration'
cause The server extension is not enabled or the metapackage is missing.
fix
Enable the server extension: jupyter server extension enable jupyter_collaboration or reinstall with pip.
error ValueError: Could not find a WebSocket connection
cause Jupyter server is not configured for collaboration, or WebSocket is blocked by proxy.
fix
Start JupyterLab with --collaborative flag or enable the extension in config. Check proxy for WebSocket support.
gotcha jupyter-collaboration is a metapackage; it does not expose any Python importable API. It only activates JupyterLab client extension and server extension.
fix Do not attempt to import anything from this package in Python code. Use jupyter_server extension configuration or command-line flags.
breaking Version 4.x requires JupyterLab 4.x or Jupyter Notebook 7.x. It is not backward-compatible with JupyterLab 3.x.
fix Upgrade your environment: JupyterLab >=4.0.0, Python >=3.8.
deprecated The --collaborative flag is deprecated in favor of enabling the collaboration extension in the Jupyter config or UI.
fix Enable the extension via jupyter labextension enable @jupyter/collaboration-extension or set jupyter_collaborative = True in jupyter_server_config.py.
gotcha Real-time collaboration requires a WebSocket-capable proxy or direct connection. Behind reverse proxies (e.g., nginx), you must configure WebSocket upgrade headers.
fix Ensure your proxy supports WebSocket upgrade (e.g., 'Upgrade' and 'Connection' headers).

Install the meta-package, then start JupyterLab with the --collaborative flag or enable the extension in the UI.

# Install and enable extensions
pip install jupyter-collaboration

# Run JupyterLab with collaboration enabled
jupyter lab --collaborative