Skip to content

jupyter_ai fails to load on fresh Jupyter Lab installation in fresh Python 3.11 virtual environment #1497

@sigpwned

Description

@sigpwned

Description

jupyter_ai fails to load on fresh Jupyter Lab installation in fresh virtual environment using Python 3.11 on MacOS. This may also fail on other environments, but I have only tested on MacOS.

On fresh install, I see the following warning in jupyter lab console output on startup:

[W 2025-11-03 10:10:03.319 ServerApp] jupyter_ai | extension failed loading with message: AssertionError()
    Traceback (most recent call last):
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 402, in load_extension
        extension.load_all_points(self.serverapp)
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 269, in load_all_points
        return [self.load_point(point_name, serverapp) for point_name in self.extension_points]
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 269, in <listcomp>
        return [self.load_point(point_name, serverapp) for point_name in self.extension_points]
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 255, in load_point
        return point.load(serverapp)
               ^^^^^^^^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 176, in load
        return loader(serverapp)
               ^^^^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 475, in _load_jupyter_server_extension
        extension.initialize()
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 436, in initialize
        self._prepare_settings()
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 316, in _prepare_settings
        self.initialize_settings()
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/extension.py", line 242, in initialize_settings
        self.settings["jai_config_manager"] = ConfigManager(
                                              ^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 149, in __init__
        self._init_config()
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 213, in _init_config
        self._process_existing_config(default_config)
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 227, in _process_existing_config
        validated_config = self._validate_model_ids(config)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 242, in _validate_model_ids
        if lm_id is not None and not self._validate_model(lm_id, raise_exc=False):
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 421, in _validate_model
        assert len(components) == 2
               ^^^^^^^^^^^^^^^^^^^^
    AssertionError

Confirm error in UI:

Image

Thank you for your help with this issue!

Reproduce

On an Apple computer running MacOS, navigate to a fresh directory and run the following commands:

brew install python3.11   # Ensure running on python3.11
python3.11 -m venv .venv  # Create a new virtual environment
. .venv/bin/activate      # Activate the virtual environment
which pip                 # Confirm running the pip in venv
pip install jupyterlab    # Install jupyterlab
pip install jupyter_ai    # Install jupyter_ai extension
jupyter lab               # Start jupyter lab

Note the following warning in startup:

[W 2025-11-03 10:10:03.319 ServerApp] jupyter_ai | extension failed loading with message: AssertionError()
    Traceback (most recent call last):
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 402, in load_extension
        extension.load_all_points(self.serverapp)
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 269, in load_all_points
        return [self.load_point(point_name, serverapp) for point_name in self.extension_points]
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 269, in <listcomp>
        return [self.load_point(point_name, serverapp) for point_name in self.extension_points]
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 255, in load_point
        return point.load(serverapp)
               ^^^^^^^^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 176, in load
        return loader(serverapp)
               ^^^^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 475, in _load_jupyter_server_extension
        extension.initialize()
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 436, in initialize
        self._prepare_settings()
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 316, in _prepare_settings
        self.initialize_settings()
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/extension.py", line 242, in initialize_settings
        self.settings["jai_config_manager"] = ConfigManager(
                                              ^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 149, in __init__
        self._init_config()
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 213, in _init_config
        self._process_existing_config(default_config)
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 227, in _process_existing_config
        validated_config = self._validate_model_ids(config)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 242, in _validate_model_ids
        if lm_id is not None and not self._validate_model(lm_id, raise_exc=False):
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/username/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 421, in _validate_model
        assert len(components) == 2
               ^^^^^^^^^^^^^^^^^^^^
    AssertionError

Confirm error in UI:

Image

Expected behavior

I expect jupyter_ai to start without errors

Context

  • Operating System and version: MacOS Sequoia 15.6.1 (24G90)
  • Browser and version: Version 141.0.7390.123 (Official Build) (arm64) (although this error happens outside browser)
  • JupyterLab version: Jupyterlab 4.4.10, more info below
% jupyter --version
Selected Jupyter core packages...
IPython          : 9.6.0
ipykernel        : 7.1.0
ipywidgets       : not installed
jupyter_client   : 8.6.3
jupyter_core     : 5.9.1
jupyter_server   : 2.17.0
jupyterlab       : 4.4.10
nbclient         : 0.10.2
nbconvert        : 7.16.6
nbformat         : 5.10.4
notebook         : not installed
qtconsole        : not installed
traitlets        : 5.14.3
Troubleshoot Output
% jupyter server extension list
Config dir: /Users/username/.jupyter

Config dir: /Users/username/jupyter/.venv/etc/jupyter
    jupyter_lsp enabled
    - Validating jupyter_lsp...
      jupyter_lsp 2.3.0 OK
    jupyter_ai enabled
    - Validating jupyter_ai...
Extension package jupyter_ai took 0.5927s to import
      jupyter_ai 2.31.6 OK
    jupyter_server_terminals enabled
    - Validating jupyter_server_terminals...
      jupyter_server_terminals 0.5.3 OK
    jupyterlab enabled
    - Validating jupyterlab...
      jupyterlab 4.4.10 OK
    notebook_shim enabled
    - Validating notebook_shim...
      notebook_shim  OK

Config dir: /usr/local/etc/jupyter

% jupyter troubleshoot     
$PATH:
	/Users/username/jupyter/.venv/bin
	/Users/username/google-cloud-sdk/bin
	/Library/Frameworks/Python.framework/Versions/3.11/bin
	/Library/Frameworks/Python.framework/Versions/3.12/bin
	/opt/homebrew/bin
	/opt/homebrew/sbin
	/usr/local/bin
	/System/Cryptexes/App/usr/bin
	/usr/bin
	/bin
	/usr/sbin
	/sbin
	/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin
	/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin
	/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
	/opt/homebrew/opt/node@16/bin

sys.path:
	/Users/username/jupyter/.venv/bin
	/Library/Frameworks/Python.framework/Versions/3.11/lib/python311.zip
	/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11
	/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload
	/Users/username/jupyter/.venv/lib/python3.11/site-packages

sys.executable:
	/Users/username/jupyter/.venv/bin/python3.11

sys.version:
	3.11.9 (v3.11.9:de54cf5be3, Apr  2 2024, 07:12:50) [Clang 13.0.0 (clang-1300.0.29.30)]

platform.platform():
	macOS-15.6.1-arm64-arm-64bit

which -a jupyter:
	/Users/username/jupyter/.venv/bin/jupyter

pip list:
	Package                   Version
	------------------------- -----------
	aiohappyeyeballs          2.6.1
	aiohttp                   3.13.2
	aiosignal                 1.4.0
	annotated-types           0.7.0
	anyio                     4.11.0
	appnope                   0.1.4
	argon2-cffi               25.1.0
	argon2-cffi-bindings      25.1.0
	arrow                     1.4.0
	asttokens                 3.0.0
	async-lru                 2.0.5
	attrs                     25.4.0
	babel                     2.17.0
	beautifulsoup4            4.14.2
	bleach                    6.3.0
	certifi                   2025.10.5
	cffi                      2.0.0
	charset-normalizer        3.4.4
	click                     8.3.0
	cloudpickle               3.1.2
	comm                      0.2.3
	dask                      2025.10.0
	dataclasses-json          0.6.7
	debugpy                   1.8.17
	decorator                 5.2.1
	deepmerge                 2.0
	defusedxml                0.7.1
	distributed               2025.10.0
	executing                 2.2.1
	faiss-cpu                 1.12.0
	fastjsonschema            2.21.2
	fqdn                      1.5.1
	frozenlist                1.8.0
	fsspec                    2025.10.0
	h11                       0.16.0
	httpcore                  1.0.9
	httpx                     0.28.1
	httpx-sse                 0.4.3
	idna                      3.11
	importlib_metadata        8.7.0
	ipykernel                 7.1.0
	ipython                   9.6.0
	ipython_pygments_lexers   1.1.1
	isoduration               20.11.0
	jedi                      0.19.2
	Jinja2                    3.1.6
	json5                     0.12.1
	jsonpatch                 1.33
	jsonpath-ng               1.7.0
	jsonpointer               3.0.0
	jsonschema                4.25.1
	jsonschema-specifications 2025.9.1
	jupyter_ai                2.31.6
	jupyter_ai_magics         2.31.6
	jupyter_client            8.6.3
	jupyter_core              5.9.1
	jupyter-events            0.12.0
	jupyter-lsp               2.3.0
	jupyter_server            2.17.0
	jupyter_server_terminals  0.5.3
	jupyterlab                4.4.10
	jupyterlab_pygments       0.3.0
	jupyterlab_server         2.28.0
	langchain                 0.3.27
	langchain-community       0.3.31
	langchain-core            0.3.79
	langchain-text-splitters  0.3.11
	langsmith                 0.4.39
	lark                      1.3.1
	locket                    1.0.0
	MarkupSafe                3.0.3
	marshmallow               3.26.1
	matplotlib-inline         0.2.1
	mistune                   3.1.4
	msgpack                   1.1.2
	multidict                 6.7.0
	mypy_extensions           1.1.0
	nbclient                  0.10.2
	nbconvert                 7.16.6
	nbformat                  5.10.4
	nest-asyncio              1.6.0
	notebook_shim             0.2.4
	numpy                     2.3.4
	orjson                    3.11.4
	overrides                 7.7.0
	packaging                 25.0
	pandocfilters             1.5.1
	parso                     0.8.5
	partd                     1.4.2
	pexpect                   4.9.0
	pip                       25.3
	platformdirs              4.5.0
	ply                       3.11
	prometheus_client         0.23.1
	prompt_toolkit            3.0.52
	propcache                 0.4.1
	psutil                    7.1.3
	ptyprocess                0.7.0
	pure_eval                 0.2.3
	pycparser                 2.23
	pydantic                  2.12.3
	pydantic_core             2.41.4
	pydantic-settings         2.11.0
	Pygments                  2.19.2
	python-dateutil           2.9.0.post0
	python-dotenv             1.2.1
	python-json-logger        4.0.0
	PyYAML                    6.0.3
	pyzmq                     27.1.0
	referencing               0.37.0
	requests                  2.32.5
	requests-toolbelt         1.0.0
	rfc3339-validator         0.1.4
	rfc3986-validator         0.1.1
	rfc3987-syntax            1.1.0
	rpds-py                   0.28.0
	Send2Trash                1.8.3
	setuptools                65.5.0
	six                       1.17.0
	sniffio                   1.3.1
	sortedcontainers          2.4.0
	soupsieve                 2.8
	SQLAlchemy                2.0.44
	stack-data                0.6.3
	tblib                     3.2.1
	tenacity                  9.1.2
	terminado                 0.18.1
	tinycss2                  1.4.0
	toolz                     1.1.0
	tornado                   6.5.2
	traitlets                 5.14.3
	typing_extensions         4.15.0
	typing-inspect            0.9.0
	typing-inspection         0.4.2
	tzdata                    2025.2
	uri-template              1.3.0
	urllib3                   2.5.0
	wcwidth                   0.2.14
	webcolors                 25.10.0
	webencodings              0.5.1
	websocket-client          1.9.0
	yarl                      1.22.0
	zict                      3.0.0
	zipp                      3.23.0
	zstandard                 0.25.0
Command Line Output

The output of jupyter lab is included here due to GitHub issue character limits. The full output of jupyter lab --debug can be found at: https://gist.github.com/sigpwned/57e831aa8a53e11857dfc4493122292f

% jupyter lab        
[I 2025-11-03 10:20:28.765 ServerApp] jupyter_ai | extension was successfully linked.
[I 2025-11-03 10:20:28.765 ServerApp] jupyter_lsp | extension was successfully linked.
[I 2025-11-03 10:20:28.766 ServerApp] jupyter_server_terminals | extension was successfully linked.
[I 2025-11-03 10:20:28.768 ServerApp] jupyterlab | extension was successfully linked.
[I 2025-11-03 10:20:28.909 ServerApp] notebook_shim | extension was successfully linked.
[I 2025-11-03 10:20:28.929 ServerApp] notebook_shim | extension was successfully loaded.
[I 2025-11-03 10:20:28.930 AiExtension] Configured provider allowlist: None
[I 2025-11-03 10:20:28.930 AiExtension] Configured provider blocklist: None
[I 2025-11-03 10:20:28.930 AiExtension] Configured model allowlist: None
[I 2025-11-03 10:20:28.930 AiExtension] Configured model blocklist: None
[I 2025-11-03 10:20:28.930 AiExtension] Configured model parameters: {}
[I 2025-11-03 10:20:28.933 AiExtension] Registered model provider `ai21`.
[W 2025-11-03 10:20:28.936 AiExtension] Unable to load model provider `amazon-bedrock`. Please install the `langchain_aws` package.
[W 2025-11-03 10:20:28.936 AiExtension] Unable to load model provider `amazon-bedrock-chat`. Please install the `langchain_aws` package.
[W 2025-11-03 10:20:28.936 AiExtension] Unable to load model provider `amazon-bedrock-custom`. Please install the `langchain_aws` package.
[W 2025-11-03 10:20:28.937 AiExtension] Unable to load model provider `anthropic-chat`. Please install the `langchain_anthropic` package.
[W 2025-11-03 10:20:28.937 AiExtension] Unable to load model provider `azure-chat-openai`. Please install the `langchain_openai` package.
[W 2025-11-03 10:20:28.937 AiExtension] Unable to load model provider `cohere`. Please install the `langchain_cohere` package.
[W 2025-11-03 10:20:28.937 AiExtension] Unable to load model provider `gemini`. Please install the `langchain_google_genai` package.
[I 2025-11-03 10:20:28.937 AiExtension] Registered model provider `gpt4all`.
[I 2025-11-03 10:20:28.937 AiExtension] Registered model provider `huggingface_hub`.
[W 2025-11-03 10:20:28.938 AiExtension] Unable to load model provider `mistralai`. Please install the `langchain_mistralai` package.
[W 2025-11-03 10:20:28.938 AiExtension] Unable to load model provider `nvidia-chat`. Please install the `langchain_nvidia_ai_endpoints` package.
[W 2025-11-03 10:20:28.938 AiExtension] Unable to load model provider `ollama`. Please install the `langchain_ollama` package.
[W 2025-11-03 10:20:28.938 AiExtension] Unable to load model provider `openai`. Please install the `langchain_openai` package.
[W 2025-11-03 10:20:28.938 AiExtension] Unable to load model provider `openai-chat`. Please install the `langchain_openai` package.
[W 2025-11-03 10:20:28.938 AiExtension] Unable to load model provider `openai-chat-custom`. Please install the `langchain_openai` package.
[W 2025-11-03 10:20:28.938 AiExtension] Unable to load model provider `openrouter`. Please install the `langchain_openai` package.
[I 2025-11-03 10:20:28.938 AiExtension] Registered model provider `qianfan`.
[W 2025-11-03 10:20:28.939 AiExtension] Unable to load model provider `sagemaker-endpoint`. Please install the `langchain_aws` package.
[I 2025-11-03 10:20:28.939 AiExtension] Registered model provider `togetherai`.
[W 2025-11-03 10:20:28.939 AiExtension] Unable to load model provider `vertexai`. Please install the `langchain_google_vertexai` package.
[W 2025-11-03 10:20:28.941 AiExtension] Unable to load embeddings model provider class from entry point `azure`: No module named 'langchain_openai'.
[W 2025-11-03 10:20:28.942 AiExtension] Unable to load embeddings model provider class from entry point `bedrock`: No module named 'langchain_aws'.
[W 2025-11-03 10:20:28.942 AiExtension] Unable to load embeddings model provider class from entry point `cohere`: No module named 'langchain_cohere'.
[I 2025-11-03 10:20:28.942 AiExtension] Registered embeddings model provider `gpt4all`.
[I 2025-11-03 10:20:28.942 AiExtension] Registered embeddings model provider `huggingface_hub`.
[W 2025-11-03 10:20:28.942 AiExtension] Unable to load embeddings model provider class from entry point `mistralai`: No module named 'langchain_mistralai'.
[W 2025-11-03 10:20:28.942 AiExtension] Unable to load embeddings model provider class from entry point `ollama`: No module named 'langchain_ollama'.
[W 2025-11-03 10:20:28.942 AiExtension] Unable to load embeddings model provider class from entry point `openai`: No module named 'langchain_openai'.
[W 2025-11-03 10:20:28.942 AiExtension] Unable to load embeddings model provider class from entry point `openai-custom`: No module named 'langchain_openai'.
[I 2025-11-03 10:20:28.942 AiExtension] Registered embeddings model provider `qianfan`.
[W 2025-11-03 10:20:28.942 AiExtension] Unable to load embeddings model provider class from entry point `vertexai`: No module named 'langchain_google_vertexai'.
[W 2025-11-03 10:20:28.946 ServerApp] jupyter_ai | extension failed loading with message: AssertionError()
    Traceback (most recent call last):
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 402, in load_extension
        extension.load_all_points(self.serverapp)
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 269, in load_all_points
        return [self.load_point(point_name, serverapp) for point_name in self.extension_points]
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 269, in <listcomp>
        return [self.load_point(point_name, serverapp) for point_name in self.extension_points]
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 255, in load_point
        return point.load(serverapp)
               ^^^^^^^^^^^^^^^^^^^^^
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/manager.py", line 176, in load
        return loader(serverapp)
               ^^^^^^^^^^^^^^^^^
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 475, in _load_jupyter_server_extension
        extension.initialize()
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 436, in initialize
        self._prepare_settings()
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 316, in _prepare_settings
        self.initialize_settings()
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/extension.py", line 242, in initialize_settings
        self.settings["jai_config_manager"] = ConfigManager(
                                              ^^^^^^^^^^^^^^
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 149, in __init__
        self._init_config()
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 213, in _init_config
        self._process_existing_config(default_config)
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 227, in _process_existing_config
        validated_config = self._validate_model_ids(config)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 242, in _validate_model_ids
        if lm_id is not None and not self._validate_model(lm_id, raise_exc=False):
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyter_ai/config_manager.py", line 421, in _validate_model
        assert len(components) == 2
               ^^^^^^^^^^^^^^^^^^^^
    AssertionError
[I 2025-11-03 10:20:28.949 ServerApp] jupyter_lsp | extension was successfully loaded.
[I 2025-11-03 10:20:28.949 ServerApp] jupyter_server_terminals | extension was successfully loaded.
[I 2025-11-03 10:20:28.950 LabApp] JupyterLab extension loaded from /Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab
[I 2025-11-03 10:20:28.950 LabApp] JupyterLab application directory is /Users/aboothe/jupyter/.venv/share/jupyter/lab
[I 2025-11-03 10:20:28.951 LabApp] Extension Manager is 'pypi'.
[I 2025-11-03 10:20:28.983 ServerApp] jupyterlab | extension was successfully loaded.
[I 2025-11-03 10:20:28.986 ServerApp] Serving notebooks from local directory: /Users/aboothe/jupyter
[I 2025-11-03 10:20:28.986 ServerApp] Jupyter Server 2.17.0 is running at:
[I 2025-11-03 10:20:28.986 ServerApp] http://localhost:8888/lab?token=e2d6dbf1ea305801d26414926be57885960d90263cbcd99f
[I 2025-11-03 10:20:28.986 ServerApp]     http://127.0.0.1:8888/lab?token=e2d6dbf1ea305801d26414926be57885960d90263cbcd99f
[I 2025-11-03 10:20:28.986 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 2025-11-03 10:20:28.991 ServerApp] 
    
    To access the server, open this file in a browser:
        file:///Users/aboothe/Library/Jupyter/runtime/jpserver-64532-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/lab?token=e2d6dbf1ea305801d26414926be57885960d90263cbcd99f
        http://127.0.0.1:8888/lab?token=e2d6dbf1ea305801d26414926be57885960d90263cbcd99f
[I 2025-11-03 10:20:29.149 ServerApp] Skipped non-installed server(s): basedpyright, bash-language-server, dockerfile-language-server-nodejs, javascript-typescript-langserver, jedi-language-server, julia-language-server, pyrefly, pyright, python-language-server, python-lsp-server, r-languageserver, sql-language-server, texlab, typescript-language-server, unified-language-server, vscode-css-languageserver-bin, vscode-html-languageserver-bin, vscode-json-languageserver-bin, yaml-language-server
[W 2025-11-03 10:20:30.304 ServerApp] 404 GET /api/ai/chats?token=[secret] (3afadfcc3b8746179b13f11f4b6b39c0@::1) 22.79ms referer=None
[W 2025-11-03 10:20:30.557 ServerApp] 404 GET /api/ai/chats?token=[secret] (3afadfcc3b8746179b13f11f4b6b39c0@::1) 1.52ms referer=None
[W 2025-11-03 10:20:30.735 ServerApp] 404 GET /api/ai/completion/inline?token=[secret] (3afadfcc3b8746179b13f11f4b6b39c0@::1) 0.75ms referer=None
[W 2025-11-03 10:20:30.930 ServerApp] 404 GET /api/ai/chats?token=[secret] (3afadfcc3b8746179b13f11f4b6b39c0@::1) 1.40ms referer=None
[I 2025-11-03 10:20:31.172 LabApp] Build is up to date
[W 2025-11-03 10:20:31.684 ServerApp] 404 GET /api/ai/chats?token=[secret] (3afadfcc3b8746179b13f11f4b6b39c0@::1) 3.50ms referer=None
[W 2025-11-03 10:20:31.725 ServerApp] 404 GET /api/ai/completion/inline?token=[secret] (3afadfcc3b8746179b13f11f4b6b39c0@::1) 1.81ms referer=None
[W 2025-11-03 10:20:31.754 ServerApp] 404 GET /api/ai/completion/inline?token=[secret] (3afadfcc3b8746179b13f11f4b6b39c0@::1) 3.65ms referer=None
[W 2025-11-03 10:20:31.975 ServerApp] 404 GET /api/ai/chats?token=[secret] (3afadfcc3b8746179b13f11f4b6b39c0@::1) 2.67ms referer=None
[W 2025-11-03 10:20:32.043 ServerApp] 404 GET /api/ai/completion/inline?token=[secret] (3afadfcc3b8746179b13f11f4b6b39c0@::1) 2.06ms referer=None
2025-11-03 10:20:32,137 - ServerApp - ERROR - Uncaught exception GET /lab/api/extensions?query&page=1&per_page=30&refresh=0&1762186832070 (::1)
HTTPServerRequest(protocol='http', host='localhost:8888', method='GET', uri='/lab/api/extensions?query&page=1&per_page=30&refresh=0&1762186832070', version='HTTP/1.1', remote_ip='::1')
Traceback (most recent call last):
  File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/tornado/web.py", line 1848, in _execute
    result = await result
             ^^^^^^^^^^^^
  File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/handlers/extension_manager_handler.py", line 37, in get
    extensions, last_page = await self.manager.list_extensions(query, page, per_page)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/extensions/manager.py", line 474, in list_extensions
    await self.refresh(query, page, per_page)
  File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/extensions/manager.py", line 508, in refresh
    await self._update_extensions_list(query, page, per_page)
  File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/extensions/manager.py", line 681, in _update_extensions_list
    extensions, last_page = await self.list_packages(query, page, per_page)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/extensions/pypi.py", line 276, in list_packages
    matches = await self.__get_all_extensions()
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/extensions/pypi.py", line 361, in __get_all_extensions
    self.__all_packages_cache = await self.__throttleRequest(
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/extensions/pypi.py", line 228, in __throttleRequest
    data = await current_loop.run_in_executor(None, fn, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1122, in __call__
    return self.__send(self.__name, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1464, in __request
    response = self.__transport.request(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1166, in request
    return self.single_request(host, handler, request_body, verbose)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1178, in single_request
    http_conn = self.send_request(host, handler, request_body, verbose)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1291, in send_request
    self.send_content(connection, request_body)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1321, in send_content
    connection.endheaders(request_body)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1298, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1058, in _send_output
    self.send(msg)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 996, in send
    self.connect()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1475, in connect
    self.sock = self._context.wrap_socket(self.sock,
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py", line 517, in wrap_socket
    return self.sslsocket_class._create(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py", line 1104, in _create
    self.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py", line 1382, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)
[W 2025-11-03 10:20:32.145 ServerApp] wrote error: 'Unhandled error'
    Traceback (most recent call last):
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/tornado/web.py", line 1848, in _execute
        result = await result
                 ^^^^^^^^^^^^
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/handlers/extension_manager_handler.py", line 37, in get
        extensions, last_page = await self.manager.list_extensions(query, page, per_page)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/extensions/manager.py", line 474, in list_extensions
        await self.refresh(query, page, per_page)
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/extensions/manager.py", line 508, in refresh
        await self._update_extensions_list(query, page, per_page)
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/extensions/manager.py", line 681, in _update_extensions_list
        extensions, last_page = await self.list_packages(query, page, per_page)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/extensions/pypi.py", line 276, in list_packages
        matches = await self.__get_all_extensions()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/extensions/pypi.py", line 361, in __get_all_extensions
        self.__all_packages_cache = await self.__throttleRequest(
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/aboothe/jupyter/.venv/lib/python3.11/site-packages/jupyterlab/extensions/pypi.py", line 228, in __throttleRequest
        data = await current_loop.run_in_executor(None, fn, *args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py", line 58, in run
        result = self.fn(*self.args, **self.kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1122, in __call__
        return self.__send(self.__name, args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1464, in __request
        response = self.__transport.request(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1166, in request
        return self.single_request(host, handler, request_body, verbose)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1178, in single_request
        http_conn = self.send_request(host, handler, request_body, verbose)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1291, in send_request
        self.send_content(connection, request_body)
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/xmlrpc/client.py", line 1321, in send_content
        connection.endheaders(request_body)
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1298, in endheaders
        self._send_output(message_body, encode_chunked=encode_chunked)
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1058, in _send_output
        self.send(msg)
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 996, in send
        self.connect()
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1475, in connect
        self.sock = self._context.wrap_socket(self.sock,
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py", line 517, in wrap_socket
        return self.sslsocket_class._create(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py", line 1104, in _create
        self.do_handshake()
      File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py", line 1382, in do_handshake
        self._sslobj.do_handshake()
    ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)
[E 2025-11-03 10:20:32.146 ServerApp] {
      "Host": "localhost:8888",
      "Accept": "*/*",
      "Referer": "http://localhost:8888/lab/workspaces/auto-o",
      "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
    }
[E 2025-11-03 10:20:32.146 ServerApp] 500 GET /lab/api/extensions?query&page=1&per_page=30&refresh=0&1762186832070 (3afadfcc3b8746179b13f11f4b6b39c0@::1) 74.45ms referer=http://localhost:8888/lab/workspaces/auto-o
[W 2025-11-03 10:20:32.598 ServerApp] 404 GET /api/ai/completion/inline?token=[secret] (3afadfcc3b8746179b13f11f4b6b39c0@::1) 2.02ms referer=None
Browser Output
I don't think this is applicable, but just in case:
Creating a new websocket connection for inline completions...
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Creating a new websocket connection for chat...
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 WebSocket connection to 'ws://localhost:8888/api/ai/completion/inline?token=75eef7181be9046aa6fc8536a19c979d2cc1334df8cc9b74' failed: 
_initialize @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1Understand this error
hook.js:608 Inline completion websocket disconnected
overrideMethod @ hook.js:608Understand this error
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Will try to reconnect in 1 s.
jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1 Uncaught (in promise) EventUnderstand this error
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Creating a new websocket connection for inline completions...
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 WebSocket connection to 'ws://localhost:8888/api/ai/chats?token=75eef7181be9046aa6fc8536a19c979d2cc1334df8cc9b74' failed: 
(anonymous) @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1Understand this error
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Chat UI websocket disconnected
overrideMethod @ hook.js:608
_onClose @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1
i.onclose @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1Understand this error
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Will try to reconnect in 1 s.
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Creating a new websocket connection for chat...
jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1  GET http://localhost:8888/lab/api/extensions?query&page=1&per_page=30&refresh=0&1762186760278 500 (Internal Server Error)
n @ jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1
n @ jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1
i @ jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1
search @ jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1
factory @ jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1
_execute @ jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1
o @ jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1
setTimeout
schedule @ jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1
await in schedule
invoke @ jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1
set isDisclaimed @ jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1
(anonymous) @ jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1Understand this error
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 WebSocket connection to 'ws://localhost:8888/api/ai/completion/inline?token=75eef7181be9046aa6fc8536a19c979d2cc1334df8cc9b74' failed: 
_initialize @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1
(anonymous) @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1Understand this error
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Inline completion websocket disconnected
overrideMethod @ hook.js:608
_onClose @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1
r.onclose @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1Understand this error
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Will try to reconnect in 1 s.
jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1 Uncaught (in promise) Event {isTrusted: true, type: 'error', target: WebSocket, currentTarget: WebSocket, eventPhase: 0, …}
reject @ jlab_core.e595af6ce37775e8a915.js?v=e595af6ce37775e8a915:1
r.onerror @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1Understand this error
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Creating a new websocket connection for inline completions...
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 WebSocket connection to 'ws://localhost:8888/api/ai/chats?token=75eef7181be9046aa6fc8536a19c979d2cc1334df8cc9b74' failed: 
(anonymous) @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1
_initialize @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1
(anonymous) @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1Understand this error
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Chat UI websocket disconnected
overrideMethod @ hook.js:608
_onClose @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1
i.onclose @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1Understand this error
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Will try to reconnect in 1 s.
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Uncaught (in promise) Event {isTrusted: true, type: 'error', target: WebSocket, currentTarget: WebSocket, eventPhase: 0, …}
(anonymous) @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1
setTimeout
_onClose @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1
i.onclose @ 268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1Understand this error
268.70e4ed233c9367714746.js?v=70e4ed233c9367714746:1 Creating a new websocket connection for chat...

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugBugs reported by users

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions