Skip to content

E0015:unrecognized-option with .pylintrc generated with pylint 4.0.5 #803

@Gliptal

Description

@Gliptal

Diagnostic Data

  • Python version (& distribution if applicable, e.g., Anaconda): Python 3.11.4
  • Type of virtual environment used (e.g., conda, venv, virtualenv, etc.): venv
  • Operating system (and version): Windows 11 25H2 26200.8246
  • Version of tool extension you are using: 2026.4.0

Behaviour

Expected Behavior

Running the extension with a .pylintrc generated using Pylint 4.0.5 shouldn't give any E0015:unrecognized-option errors.

Actual Behavior

Running the extension with a .pylintrc generated using Pylint 4.0.5 gives E0015:unrecognized-option errors on a number of .pylintrc options.

Reproduction Steps:

  • generate a .pylintrc with pylint --generate-rcfile > .pylintrc
  • place it in the root of a workspace with the extension enabled
  • let the extension parse any .py file

Logs:

Click here for detailed logs 2026-04-29 14:54:12.175 [info] d:\\.venv\Scripts\python.exe -m pylint --reports=n --output-format=json2 --clear-cache-post-run=y --from-stdin D:\\setup.py 2026-04-29 14:54:12.175 [info] [Trace - 2:54:12 PM] Received notification 'window/logMessage'. 2026-04-29 14:54:12.175 [info] Params: { "type": 4, "message": "CWD Linter: d:\" }

2026-04-29 14:54:12.175 [info] CWD Linter: d:<REDACTED>
2026-04-29 14:54:12.623 [info] [Trace - 2:54:12 PM] Received notification 'window/logMessage'.
2026-04-29 14:54:12.623 [info] Params: {
"type": 4,
"message": "Problem importing module imports.py: No package metadata was found for isort\n"
}

2026-04-29 14:54:12.623 [info] Problem importing module imports.py: No package metadata was found for isort

2026-04-29 14:54:12.623 [info] [Trace - 2:54:12 PM] Received notification 'window/logMessage'.
2026-04-29 14:54:12.623 [info] Params: {
"type": 4,
"message": ""
}

2026-04-29 14:54:12.623 [info] file:///d%3A//setup.py :
{
"messages": [
{
"type": "error",
"symbol": "unrecognized-option",
"message": "Unrecognized option found: allow-any-import-level, allow-reexport-from-package, allow-wildcard-with-all, deprecated-modules, ext-import-graph, import-graph, int-import-graph, known-standard-library, known-third-party, preferred-modules",
"messageId": "E0015",
"confidence": "UNDEFINED",
"module": "D:\\.pylintrc",
"obj": "",
"line": 1,
"column": 0,
"endLine": null,
"endColumn": null,
"path": "D:\\.pylintrc",
"absolutePath": "D:\\.pylintrc"
},
{
"type": "refactor",
"symbol": "no-else-return",
"message": "Unnecessary "else" after "return", remove the "else" and de-indent the code inside it",
"messageId": "R1705",
"confidence": "HIGH",
"module": "setup",
"obj": "get_version",
"line": 21,
"column": 4,
"endLine": 24,
"endColumn": 77,
"path": "D:\\setup.py",
"absolutePath": "D:\\setup.py"
},
{
"type": "refactor",
"symbol": "no-else-return",
"message": "Unnecessary "else" after "return", remove the "else" and de-indent the code inside it",
"messageId": "R1705",
"confidence": "HIGH",
"module": "setup",
"obj": "get_description",
"line": 33,
"column": 4,
"endLine": 36,
"endColumn": 82,
"path": "D:\\setup.py",
"absolutePath": "D:\\setup.py"
}
],
"statistics": {
"messageTypeCount": {
"fatal": 0,
"error": 0,
"warning": 0,
"refactor": 2,
"convention": 0,
"info": 0
},
"modulesLinted": 4,
"score": 9.285714285714286
}
}

2026-04-29 14:54:12.623 [info] [Trace - 2:54:12 PM] Received notification 'pylint/score'.
2026-04-29 14:54:12.623 [info] Params: {
"uri": "file:///d%3A//setup.py",
"score": 9.285714285714286
}

2026-04-29 14:54:12.624 [info] [Trace - 2:54:12 PM] Received notification 'textDocument/publishDiagnostics'.
2026-04-29 14:54:12.624 [info] Params: {
"uri": "file:///d%3A//setup.py",
"diagnostics": [
{
"range": {
"start": {
"line": 0,
"character": 0
},
"end": {
"line": 0,
"character": 0
}
},
"message": "Unrecognized option found: allow-any-import-level, allow-reexport-from-package, allow-wildcard-with-all, deprecated-modules, ext-import-graph, import-graph, int-import-graph, known-standard-library, known-third-party, preferred-modules",
"severity": 1,
"code": "E0015:unrecognized-option",
"codeDescription": {
"href": "https://pylint.readthedocs.io/en/latest/user_guide/messages/error/unrecognized-option.html"
},
"source": "Pylint"
},
{
"range": {
"start": {
"line": 20,
"character": 4
},
"end": {
"line": 23,
"character": 77
}
},
"message": "Unnecessary "else" after "return", remove the "else" and de-indent the code inside it",
"severity": 4,
"code": "R1705:no-else-return",
"codeDescription": {
"href": "https://pylint.readthedocs.io/en/latest/user_guide/messages/refactor/no-else-return.html"
},
"source": "Pylint"
},
{
"range": {
"start": {
"line": 32,
"character": 4
},
"end": {
"line": 35,
"character": 82
}
},
"message": "Unnecessary "else" after "return", remove the "else" and de-indent the code inside it",
"severity": 4,
"code": "R1705:no-else-return",
"codeDescription": {
"href": "https://pylint.readthedocs.io/en/latest/user_guide/messages/refactor/no-else-return.html"
},
"source": "Pylint"
}
]
}

Outcome When Attempting Debugging Steps:

Did running it from the command line work?

Extra Details

Honestly baffled at what's going on here. With useBundled as the import strategy, 2026.4.0 should use the bundled 4.0.5. It even says so:

2026-04-29 13:47:08.477 [info] SUPPORTED pylint>=2.14.0
FOUND pylint==4.0.5

Why then is the extension calling pylint from my venv Python? A venv where mind you pylint isn't installed. I assume the log is wrong? If so, which pylint is actually being used?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIssue identified by VS Code Team member as probable bugtriage-neededIssue is not triaged.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions