SSH remote passes local plugin paths and MCP configs to remote server, causing hang

Open 💬 7 comments Opened Feb 14, 2026 by solomon23

Bug Description

When connecting to a remote server via SSH, Claude Code passes local macOS plugin paths and MCP server configurations to the remote ccd-cli process. These paths don't exist on the remote machine, causing it to hang indefinitely until the client times out with "Failed to load session".

Root Cause

The remote ccd-cli process is invoked with local paths and configs:

--plugin-dir /Users/<user>/.claude/plugins/cache/claude-plugins-official/pyright-lsp/1.0.0
--plugin-dir /Users/<user>/.claude/plugins/cache/claude-hud/claude-hud/0.0.1
--plugin-dir /Users/<user>/.claude/plugins/cache/claude-plugins-official/ralph-wiggum/15b07b46dab3
--plugin-dir /Users/<user>/.claude/plugins/cache/claude-plugins-official/swift-lsp/1.0.0
--mcp-config {"mcpServers":{"Claude in Chrome":{"type":"sdk","name":"Claude in Chrome"},"mcp-registry":{"type":"sdk","name":"mcp-registry"}}}

These /Users/<user>/... paths don't exist on the remote Linux server, and the MCP servers (Claude in Chrome, mcp-registry) aren't available remotely.

The ccd-cli process consumes ~280MB RAM, opens a socket to the API, but hangs indefinitely — presumably failing to load the non-existent plugins. Eventually the client times out and shows "Failed to load session".

Steps to Reproduce

  1. Install plugins and/or MCP servers locally (e.g., pyright-lsp, claude-hud, Claude in Chrome)
  2. Set up an SSH connection to a remote Linux server
  3. Connect via Claude Code SSH
  4. Observe ccd-cli on the remote server being passed local plugin paths via --plugin-dir

Expected Behavior

The SSH remote session should either:

  1. Not pass local plugin paths/MCP configs to the remote machine
  2. Resolve/sync plugins to the remote before launching
  3. Gracefully skip missing plugins instead of hanging

Environment

  • Local: macOS (Darwin 25.2.0), Claude Code 2.1.42
  • Remote: Ubuntu 18.04, x86_64

Related

  • #25661 (SSH connection ignores Identity File setting)

View original on GitHub ↗

This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗