Python Ruff extension is broken with Remote SSH session

Describe the Bug

Python Ruff extension is broken with Remote SSH session.

When I open the Remote session, the error message pops up, saying Ruff has problem with resolving settings. But the log says nothing.

So I Ruff formatter still works but it ignores my pyproject.toml config.

Everything works fine with local Cursor.
Also work fine with original VSCode with remote session.

Steps to Reproduce

settings.json

{
  "notebook.codeActionsOnSave": {
    "notebook.source.fixAll": "explicit",
    "notebook.source.organizeImports": "explicit"
  },
  "[python]": {
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
      "source.fixAll": "explicit",
      "source.organizeImports": "explicit"
    },
    "editor.defaultFormatter": "charliermarsh.ruff"
  },
  "python.testing.pytestEnabled": true,
  "python.testing.autoTestDiscoverOnSaveEnabled": true,
  "python.analysis.typeCheckingMode": "basic",
  "python.analysis.inlayHints.callArgumentNames": "all",
  "python.analysis.inlayHints.functionReturnTypes": true,
  "python.analysis.inlayHints.pytestParameters": true,
  "python.analysis.inlayHints.variableTypes": true,
  "cursorpyright.analysis.inlayHints.callArgumentNames": "all",
  "cursorpyright.analysis.inlayHints.functionReturnTypes": true,
  "cursorpyright.analysis.inlayHints.variableTypes": true,
  "cursorpyright.analysis.typeCheckingMode": "basic"
}

pyproject.toml

[project]
name = "mcp-servers"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
authors = [
    { name = "Bumsik Kim", email = "[email protected]" }
]
requires-python = ">=3.12"

[project.scripts]
mcp-servers = "mcp_servers.cmd.server:app"

[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"

[tool.setuptools]
packages = ["mcp_servers"]

[tool.mypy]
plugins = [
  "pydantic.mypy",
]

[[tool.mypy.overrides]]
module = ["secedgar.*"]
follow_untyped_imports = true

[tool.pyright]
exclude = ["**/*_pb2.py", "**/*_pb2_grpc.py"]

[tool.ruff]
line-length = 119
exclude = ["**/*_pb2.py", "**/*_pb2.pyi", "**/*_pb2_grpc.py"]

[tool.ruff.lint]
# List of rules: https://docs.astral.sh/ruff/rules/
select = [
  # pyflakes
  "F",
  # pycodestyle
  "E",
  # pycodestyle warnings
  "W",
  # isort
  "I",
  # Ruff-specific rules
  "RUF",
  # FastAPI
  "FAST",
  # flake8-async
  "ASYNC",
  # flake8-blind-except
  "BLE",
  # flake8-boolean-trap
  "FBT",
  # flake8-builtins
  "A",
  # flake8-comprehensions
  "C4",
  # flake8-datetimez
  "DTZ",
  # flake8-debugger
  "T10",
  # # flake8-errmsg
  # "EM",
  # # flake8-fixme
  # "FIX",
  # flake8-logging
  "LOG",
  # # flake8-logging-format
  # "G",
  # flake8-pie
  "PIE",
  # flake8-print
  "T20",
  # flake8-pyi
  "PYI",
  # flake8-pytest-style
  "PT",
  # flake8-raise
  "RSE",
  # flake8-return
  "RET",
  # flake8-simplify
  "SIM",
  # flake8-slots
  "SLOT",
  # # flake8-todos
  # "TD",
  # flake8-type-checking
  "TC",
  # flake8-unused-arguments
  "ARG",
  # flake8-use-pathlib
  "PTH",
  # tryceratops
  "TRY",
]

[tool.pytest.ini_options]
addopts = "--showlocals --tb=native -vv"
testpaths = [
    "tests"
]

[dependency-groups]
dev = [
]

Screenshots / Screen Recordings


Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 1.1.7
VSCode Version: 1.96.2
Commit: 7111807980fa9c93aedd455ffa44b682c0dc1350
Date: 2025-07-01T07:26:02.358Z
Electron: 34.5.1
Chromium: 132.0.6834.210
Node.js: 20.19.0
V8: 13.2.152.41-electron.0
OS: Darwin arm64 24.5.0

Additional Information

local machine is macOS, but remote server is Ubuntu

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Oh I got it work.

After looking at more messages it seems that Ruff extension found Ruff in ~/miniconda3/, note the bundled one in ~/.cursor-server/extensions/charliermarsh.ruff-2025.24.0-linux-x64/bundled/libs/bin/ruff

I resolved by removing ruff in miniconda3.

But why the behavior is different from the original VSCode?