Exception in multi-root workspace without "path".
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 65/100
Research direction
Start in python/vscode_common_python_lsp/server.py around update_workspace_settings at the referenced source line, and reproduce the failure with the multi-root workspace configuration shown. Trace how a workspace entry without a filesystem path is handled; done means initialization no longer raises the NoneType path exception for remote workspaces and the affected language servers start successfully.
Written by the indexing model from the issue text.
Description
When using the MicroPico extension, for example, with its Remote Workspace support that adds a multi-root workspace as such:
{
"folders": [
{
"path": "."
},
{
"name": "Mpy Remote Workspace",
"uri": "pico:"
}
]
}
The Pylint server (ms-python.pylint) appears to fail because of a non-existent "path" attribute (or similar). I'm also seeing the same error with both the Black Formatter (ms-python.black-formatter) and isort (ms-python.isort), ending with the same stack frames.
[info] Server: Start requested.
[info] Exception occurred for message "0"
Traceback (most recent call last):
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\libs\pygls\protocol\json_rpc.py", line 300, in _send_handler_result
self._send_response(msg_id, result=future.result())
~~~~~~~~~~~~~^^
File "C:\Program Files\Python314\Lib\concurrent\futures\_base.py", line 447, in result
return self.__get_result()
~~~~~~~~~~~~~~~~~^^
File "C:\Program Files\Python314\Lib\concurrent\futures\_base.py", line 396, in __get_result
raise self._exception
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\libs\pygls\protocol\json_rpc.py", line 273, in _run_generator
value = future.result() if future is not None else None
~~~~~~~~~~~~~^^
File "C:\Program Files\Python314\Lib\concurrent\futures\_base.py", line 447, in result
return self.__get_result()
~~~~~~~~~~~~~~~~~^^
File "C:\Program Files\Python314\Lib\concurrent\futures\_base.py", line 396, in __get_result
raise self._exception
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\libs\pygls\protocol\json_rpc.py", line 236, in _execute_handler
result = handler(*args, **kwargs)
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\tool\lsp_server.py", line 718, in initialize
tool_server.apply_settings(params)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\libs\vscode_common_python_lsp\server.py", line 482, in apply_settings
self.update_workspace_settings(settings)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\libs\vscode_common_python_lsp\server.py", line 152, in update_workspace_settings
key = normalize_path(
uris.to_fs_path(setting["workspace"]),
resolve_symlinks=self.config.resolve_symlinks,
)
File "***\.vscode\extensions\ms-python.pylint-2026.7.11691008\bundled\libs\vscode_common_python_lsp\paths.py", line 236, in normalize_path
path = pathlib.Path(file_path)
File "C:\Program Files\Python314\Lib\pathlib\__init__.py", line 150, in __init__
raise TypeError(
...<2 lines>...
f"not {type(path).__name__!r}")
TypeError: argument should be a str or an os.PathLike object where __fspath__ returns a str, not 'NoneType'
[info] [Error] Server initialization failed.
Relevant source: https://github.com/microsoft/vscode-common-python-lsp/blob/0258b220929850986b1d9413ac27b203a72acc04/python/vscode_common_python_lsp/server.py#L137
Workarounds
A workaround is to disable the Remote Workspace, and not enable until after the analysis servers have already started.
- Dominant language
- Python
- Stars
- 2
- Forks
- 4
- Avg merge
- 12h 45m
- Merged PRs (30d)
- 2
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/vscode-common-python-lsp
-
Support singleton server instance or workspace-folder configuration for multi-root workspacesMay be free again @edvilme claimed this 107 days ago, and no pull request is open. Openbug triage-needed
microsoft/vscode-common-python-lsp#49 · 1 reaction · 2 assignees ·
Maintainers usually reply within 1 day
All issues in microsoft/vscode-common-python-lsp
Similar issues
-
New InternshipOpennew_internship
Difficulty 1/5 Under an hour Newbie friendliness 70/100
-
[BUG] Reports tab: "Unban" button tooltip shows raw `{{ip}}` placeholder instead of the IP addressOpenbug javascript ui
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
bunkerity/bunkerweb#4001 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 92/100
PedestrianDynamics/pyFDS-Evac#476 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
google/differential-privacy#516 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
adobe-fonts/source-serif#153 ·