Skip to content

[BUG] vue-language-server always return Error: LSP request timeout: textDocument/documentSymbol (30000ms) #18

@LimLLL

Description

@LimLLL

Describe the bug

when using vue-language-server, claude code always return Error: LSP request timeout: textDocument/documentSymbol (30000ms) error, where get_diagnostics tool seems ok

To Reproduce

Steps to reproduce the behavior:

  1. Set up configuration with npx cclsp@latest setup
  2. Run command mise use -g npm:@vue/language-server
  3. Try to use tool
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Actual behavior

What actually happened instead.

Error messages

> @web/src/components/Page/Back.vue 用这个文件测试下cclsp这个mcp工具
  ⎿  Read web/src/components/Page/Back.vue (23 lines)

● 我来使用 cclsp MCP 工具测试这个 Vue 文件。让我先尝试几个不同的功能。

● cclsp - get_diagnostics (MCP)(file_path: "/home/xxxxx/docker_data/xxxxx/web/src/components/Page/Back.vue")
  ⎿  No diagnostics found for /home/xxxxx/docker_data/xxxxxx/web/src/components/Page/Back.vue. The file has no errors, warnings, or hints.                

● cclsp - find_definition (MCP)(file_path: "/home/xxxxx/docker_data/xxxxx/web/src/components/Page/Back.vue", symbol_name: "useRouter", symbol_kind:
                               "function")
  ⎿  Error: LSP request timeout: textDocument/documentSymbol (30000ms) 

Complete Claude Code Error

[
  {
    "debug": "Starting connection with timeout of 30000ms",
    "timestamp": "2025-10-02T09:04:07.268Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: Loading config from CCLSP_CONFIG_PATH: /home/xxxx/docker_data/xxxxxxx/.claude/cclsp.json\nLoaded 3 server configurations from env\nCCLSP Server running on stdio\nScanning configured server directories for supported file types\nScanning ./web for extensions: js, ts, jsx, tsx\nFound matching extensions in ./web: js, ts, tsx\nScanning . for extensions: php\nFound matching extensions in .: php\nScanning ./web for extensions: vue\nFound matching extensions in ./web: vue\nStarting 3 LSP servers...\nPreloading LSP server: typescript-language-server --stdio\nPreloading LSP server: intelephense --stdio\nPreloading LSP server: vue-language-server --stdio",
    "timestamp": "2025-10-02T09:04:09.188Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "debug": "Successfully connected to stdio server in 1923ms",
    "timestamp": "2025-10-02T09:04:09.190Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "debug": "Connection established with capabilities: {\"hasTools\":true,\"hasPrompts\":false,\"hasResources\":false,\"serverVersion\":{\"name\":\"cclsp\",\"version\":\"0.1.0\"}}",
    "timestamp": "2025-10-02T09:04:09.192Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: [DEBUG startServer] Initialization timeout or failed for typescript-language-server --stdio, proceeding anyway: Error: Initialization timeout",
    "timestamp": "2025-10-02T09:04:12.227Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: Successfully preloaded LSP server for extensions: js, ts, jsx, tsx",
    "timestamp": "2025-10-02T09:04:12.228Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: [DEBUG startServer] Initialization timeout or failed for vue-language-server --stdio, proceeding anyway: Error: Initialization timeout",
    "timestamp": "2025-10-02T09:04:12.741Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: Successfully preloaded LSP server for extensions: vue",
    "timestamp": "2025-10-02T09:04:12.742Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: [DEBUG startServer] Initialization timeout or failed for intelephense --stdio, proceeding anyway: Error: Initialization timeout",
    "timestamp": "2025-10-02T09:04:15.417Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: Successfully preloaded LSP server for extensions: php\nLSP server preloading completed",
    "timestamp": "2025-10-02T09:04:15.417Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "debug": "Calling MCP tool: get_diagnostics",
    "timestamp": "2025-10-02T09:04:49.498Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: [DEBUG getDiagnostics] Requesting diagnostics for /home/xxxx/docker_data/xxxxxxx/web/src/components/Page/Back.vue\n[DEBUG getServer] Getting server for file: /home/xxxx/docker_data/xxxxxxx/web/src/components/Page/Back.vue\nLooking for server for extension: vue\nAvailable servers: js,ts,jsx,tsx | php | vue\nFound server for vue: vue-language-server --stdio\n[DEBUG getServer] Found server config: vue-language-server --stdio\n[DEBUG getServer] Using existing server instance\n[DEBUG ensureFileOpen] Opening file: /home/xxxx/docker_data/xxxxxxx/web/src/components/Page/Back.vue\n[DEBUG ensureFileOpen] File content length: 618, languageId: vue\n[DEBUG ensureFileOpen] File opened successfully: /home/xxxx/docker_data/xxxxxxx/web/src/components/Page/Back.vue\n[DEBUG getDiagnostics] No cached diagnostics, trying textDocument/diagnostic request",
    "timestamp": "2025-10-02T09:04:49.510Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "debug": "Tool 'get_diagnostics' still running (30s elapsed)",
    "timestamp": "2025-10-02T09:05:19.500Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: [DEBUG getDiagnostics] textDocument/diagnostic not supported or failed: Error: LSP request timeout: textDocument/diagnostic (30000ms). Waiting for publishDiagnostics...",
    "timestamp": "2025-10-02T09:05:19.527Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: [DEBUG waitForDiagnosticsIdle] Waiting for diagnostics to stabilize for file:///home/xxxx/docker_data/xxxxxxx/web/src/components/Page/Back.vue",
    "timestamp": "2025-10-02T09:05:19.528Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: [DEBUG waitForDiagnosticsIdle] Server appears idle after 302ms without updates\n[DEBUG getDiagnostics] No diagnostics yet, triggering publishDiagnostics with no-op change",
    "timestamp": "2025-10-02T09:05:19.829Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: [DEBUG waitForDiagnosticsIdle] Waiting for diagnostics to stabilize for file:///home/xxxx/docker_data/xxxxxxx/web/src/components/Page/Back.vue",
    "timestamp": "2025-10-02T09:05:19.830Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: [DEBUG waitForDiagnosticsIdle] Server appears idle after 301ms without updates",
    "timestamp": "2025-10-02T09:05:20.131Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "debug": "Tool 'get_diagnostics' completed successfully in 30s",
    "timestamp": "2025-10-02T09:05:20.133Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "debug": "Calling MCP tool: find_definition",
    "timestamp": "2025-10-02T09:05:44.716Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "error": "Server stderr: [DEBUG findSymbolsByName] Searching for symbol \"useRouter\" with kind \"function\" in /home/xxxx/docker_data/xxxxxxx/web/src/components/Page/Back.vue\n[DEBUG getServer] Getting server for file: /home/xxxx/docker_data/xxxxxxx/web/src/components/Page/Back.vue\nLooking for server for extension: vue\nAvailable servers: js,ts,jsx,tsx | php | vue\nFound server for vue: vue-language-server --stdio\n[DEBUG getServer] Found server config: vue-language-server --stdio\n[DEBUG getServer] Using existing server instance\n[DEBUG ensureFileOpen] File already open: /home/xxxx/docker_data/xxxxxxx/web/src/components/Page/Back.vue\n[DEBUG] Requesting documentSymbol for: /home/xxxx/docker_data/xxxxxxx/web/src/components/Page/Back.vue",
    "timestamp": "2025-10-02T09:05:44.725Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "debug": "Tool 'find_definition' still running (30s elapsed)",
    "timestamp": "2025-10-02T09:06:14.716Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "debug": "Tool 'find_definition' completed successfully in 30s",
    "timestamp": "2025-10-02T09:06:14.735Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "debug": "Sending SIGINT to MCP server process",
    "timestamp": "2025-10-02T09:06:24.447Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  },
  {
    "debug": "SIGINT failed, sending SIGTERM to MCP server process",
    "timestamp": "2025-10-02T09:06:24.561Z",
    "sessionId": "ef940a33-05d6-439a-a02a-607ca0b97b80",
    "cwd": "/home/xxxx/docker_data/xxxxxxx"
  }
]

Environment

  • OS: Ubuntu 22.04
  • Node.js version: v22.20.0
  • cclsp version: 0.5.13
  • Language server: vue-lanaguage-server (3.0.4,3.1.0 both tried)
  • MCP client: Claude Code (1.0.124)

Configuration

{
  "servers": [
    {
      "extensions": [
        "js",
        "ts",
        "jsx",
        "tsx"
      ],
      "command": [
        "typescript-language-server",
        "--stdio"
      ],
      "rootDir": "./web"
    },
    {
      "extensions": [
        "php"
      ],
      "command": [
        "intelephense",
        "--stdio"
      ],
      "rootDir": "."
    },
    {
      "extensions": [
        "vue"
      ],
      "command": [
        "vue-language-server",
        "--stdio"
      ],
      "rootDir": "./web"
    }
  ]
}

Additional context

Add any other context about the problem here.

Screenshots

If applicable, add screenshots to help explain your problem.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions