Skip to content

Old 2022.0.17 version gets installed on Code Server #936

Description

@MarcSkovMadsen

Context

I'm using the ruff VS Code extension in Code Server running on our JupyterHub on Kubernetes. I've previsously been using ruff extension in that environment without issues.

What I currently see when starting code server is

Image

Ruff extension: 2022.0.17

Image

code-server: v4.107.0
Code: 1.107.0
Commit: ac7322ce566a5dc99c60d92180375329f0bbd759
Date: 2025-12-12T02:09:39.530Z (1 mo ago)
Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0

User Settings
{
    "files.autoSave": "off",
    "extensions.autoUpdate": false,
    "editor.rulers": [100,],
    "explorer.confirmPasteNative": false,
    "git.enableSmartCommit": true,
    "workbench.colorTheme": "Cobalt2",
    "jupyter.interactiveWindow.creationMode": "single",
    "jupyter.interactiveWindow.textEditor.executeSelection": true,
    "jupyter.widgetScriptSources": [
        "jsdelivr.com",
        "unpkg.com"
    ],
    "python.testing.pytestEnabled": true,
    "python.testing.pytestArgs": [
        "tests"
    ],
    "python.testing.unittestEnabled": false,
    "[python]": {
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
        "source.fixAll": "explicit",
        "source.organizeImports": "explicit"
        },
        "editor.defaultFormatter": "charliermarsh.ruff"
    },
    "remote.autoForwardPortsSource": "hybrid",
    "github.copilot.nextEditSuggestions.enabled": true,
    "explorer.confirmDragAndDrop": false,
    "chat.tools.terminal.autoApprove": {
        "/.*/": true,
        "cd": true,
        "echo": true,
        "ls": true,
        "pwd": true,
        "cat": true,
        "head": true,
        "tail": true,
        "findstr": true,
        "wc": true,
        "tr": true,
        "cut": true,
        "cmp": true,
        "which": true,
        "basename": true,
        "dirname": true,
        "realpath": true,
        "readlink": true,
        "stat": true,
        "file": true,
        "du": true,
        "df": true,
        "sleep": true,
        "nl": true,
        "grep": true,
        "git status": true,
        "git log": true,
        "git show": true,
        "git diff": true,
        "git grep": true,
        "git branch": true,
        "/^git branch\\b.*-(d|D|m|M|-delete|-force)\\b/": false,
        "Get-ChildItem": true,
        "Get-Content": true,
        "Get-Date": true,
        "Get-Random": true,
        "Get-Location": true,
        "Write-Host": true,
        "Write-Output": true,
        "Split-Path": true,
        "Join-Path": true,
        "Start-Sleep": true,
        "Where-Object": true,
        "/^Select-[a-z0-9]/i": true,
        "/^Measure-[a-z0-9]/i": true,
        "/^Compare-[a-z0-9]/i": true,
        "/^Format-[a-z0-9]/i": true,
        "/^Sort-[a-z0-9]/i": true,
        "column": true,
        "/^column\\b.*-c\\s+[0-9]{4,}/": false,
        "date": true,
        "/^date\\b.*(-s|--set)\\b/": false,
        "find": true,
        "/^find\\b.*-(delete|exec|execdir|fprint|fprintf|fls|ok|okdir)\\b/": false,
        "sort": true,
        "/^sort\\b.*-(o|S)\\b/": false,
        "tree": true,
        "/^tree\\b.*-o\\b/": false,
        "rm": false,
        "rmdir": false,
        "del": false,
        "Remove-Item": false,
        "ri": false,
        "rd": false,
        "erase": false,
        "dd": false,
        "kill": false,
        "ps": false,
        "top": false,
        "Stop-Process": false,
        "spps": false,
        "taskkill": false,
        "taskkill.exe": false,
        "curl": false,
        "wget": false,
        "Invoke-RestMethod": false,
        "Invoke-WebRequest": false,
        "irm": false,
        "iwr": false,
        "chmod": false,
        "chown": false,
        "Set-ItemProperty": false,
        "sp": false,
        "Set-Acl": false,
        "jq": false,
        "xargs": false,
        "eval": false,
        "Invoke-Expression": false,
        "iex": false
    }
}
Remote Settings
{
}
Workspace Settings
{
    "python-envs.defaultEnvManager": "ms-python.python:system",
    "python-envs.pythonProjects": []
}

Output - Ruff

Image
TypeError: type 'typing.TypeVar' is not an acceptable base type
Exception ignored in atexit callback <function ProcessManager.stop_all_processes at 0x7f31fad92340>:
TypeError: ProcessManager.stop_all_processes() missing 1 required positional argument: 'self'
[Info  - 3:47:25 AM] Connection to server got closed. Server will restart.
Traceback (most recent call last):
  File "/home/jovyan/.local/share/code-server/extensions/charliermarsh.ruff-2022.0.17-linux-x64/bundled/tool/server.py", line 39, in <module>
    from pygls import lsp, protocol, server, uris, workspace  # noqa: E402
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jovyan/.local/share/code-server/extensions/charliermarsh.ruff-2022.0.17-linux-x64/bundled/libs/pygls/lsp/__init__.py", line 19, in <module>
    from typeguard import check_type
  File "/home/jovyan/.local/share/code-server/extensions/charliermarsh.ruff-2022.0.17-linux-x64/bundled/libs/typeguard/__init__.py", line 27, in <module>
    from typing_extensions import Literal
  File "/home/jovyan/.local/share/code-server/extensions/charliermarsh.ruff-2022.0.17-linux-x64/bundled/libs/typing_extensions.py", line 1167, in <module>
    class TypeVar(typing.TypeVar, _DefaultMixin, _root=True):
    ...<18 lines>...
                self.__module__ = def_mod
TypeError: type 'typing.TypeVar' is not an acceptable base type
Exception ignored in atexit callback <function ProcessManager.stop_all_processes at 0x7f6f59ee2340>:
TypeError: ProcessManager.stop_all_processes() missing 1 required positional argument: 'self'
[Info  - 3:47:25 AM] Connection to server got closed. Server will restart.
Traceback (most recent call last):
  File "/home/jovyan/.local/share/code-server/extensions/charliermarsh.ruff-2022.0.17-linux-x64/bundled/tool/server.py", line 39, in <module>
    from pygls import lsp, protocol, server, uris, workspace  # noqa: E402
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jovyan/.local/share/code-server/extensions/charliermarsh.ruff-2022.0.17-linux-x64/bundled/libs/pygls/lsp/__init__.py", line 19, in <module>
    from typeguard import check_type
  File "/home/jovyan/.local/share/code-server/extensions/charliermarsh.ruff-2022.0.17-linux-x64/bundled/libs/typeguard/__init__.py", line 27, in <module>
    from typing_extensions import Literal
  File "/home/jovyan/.local/share/code-server/extensions/charliermarsh.ruff-2022.0.17-linux-x64/bundled/libs/typing_extensions.py", line 1167, in <module>
    class TypeVar(typing.TypeVar, _DefaultMixin, _root=True):
    ...<18 lines>...
                self.__module__ = def_mod
TypeError: type 'typing.TypeVar' is not an acceptable base type
Exception ignored in atexit callback <function ProcessManager.stop_all_processes at 0x7f8994222340>:
TypeError: ProcessManager.stop_all_processes() missing 1 required positional argument: 'self'
[Info  - 3:47:25 AM] Connection to server got closed. Server will restart.
Traceback (most recent call last):
  File "/home/jovyan/.local/share/code-server/extensions/charliermarsh.ruff-2022.0.17-linux-x64/bundled/tool/server.py", line 39, in <module>
    from pygls import lsp, protocol, server, uris, workspace  # noqa: E402
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jovyan/.local/share/code-server/extensions/charliermarsh.ruff-2022.0.17-linux-x64/bundled/libs/pygls/lsp/__init__.py", line 19, in <module>
    from typeguard import check_type
  File "/home/jovyan/.local/share/code-server/extensions/charliermarsh.ruff-2022.0.17-linux-x64/bundled/libs/typeguard/__init__.py", line 27, in <module>
    from typing_extensions import Literal
  File "/home/jovyan/.local/share/code-server/extensions/charliermarsh.ruff-2022.0.17-linux-x64/bundled/libs/typing_extensions.py", line 1167, in <module>
    class TypeVar(typing.TypeVar, _DefaultMixin, _root=True):
    ...<18 lines>...
                self.__module__ = def_mod
TypeError: type 'typing.TypeVar' is not an acceptable base type
Exception ignored in atexit callback <function ProcessManager.stop_all_processes at 0x7f8387e3e340>:
TypeError: ProcessManager.stop_all_processes() missing 1 required positional argument: 'self'
[Error - 3:47:25 AM] Connection to server got closed. Server will not be restarted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions