Remote SSH: plugin archives >2.5MB arrive truncated, session hangs forever at "Setting up plugins..."

Open 💬 0 comments Opened Jul 10, 2026 by naeemben

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Claude Code (remote SSH) hangs permanently at "Setting up plugins..."

Server: Ubuntu 22.04.5 LTS, Hetzner CPX32
Remote server binary: 5db5e4a12f88487e47c2c48259b69a2d630bb3f7
CLI: 2.1.205

Symptom:
Every plugin archive downloaded to /root/.claude/remote/plugins/
larger than ~2.5 MB arrives truncated.

$ tar -tzf 4cc315f883971d5f.tar.gz
gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive

gzip header declares original size 5,020,447 — file on disk is 3,047,424.
Reproduced 11 times across separate sessions.

Small archives (cowork-plugin-management) extract fine.

Ruled out:

  • Disk: 26 GB free
  • Memory: 5.2 GB available
  • Network: curl downloads 10 MB file successfully (HTTP 200, full size)
  • SFTP: 3 MB upload arrives with exact byte count
  • Plugins: all disabled/uninstalled in UI, still downloads and hangs
  • Session logs: no error, only "New connection" / "Connection closed"

remote-server.log shows no failure at all — only "New connection" / "Connection closed".

What Should Happen?

The plugin archive should download completely, extract successfully,
and the session should start and accept messages.

Error Messages/Logs

$ for f in /root/.claude/remote/plugins/*.tar.gz; do tar -tzf "$f" >/dev/null 2>&1 && echo OK || echo CORRUPT; done
CORRUPT   (11 archives, 11 times)

$ tar -tzf 4cc315f883971d5f.tar.gz
skills/docx/SKILL.md
skills/pptx/SKILL.md
skills/pdf/SKILL.md
...
gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

$ file 6ee9561d0716bf9c.tar.gz
gzip compressed data, original size modulo 2^32 5020447

$ ls -l 6ee9561d0716bf9c.tar.gz
-rw------- 1 root root 3047424

$ tail remote-server.log
2026/07/10 15:48:45 [Server] New connection from: @
2026/07/10 15:48:45 [Server] Connection closed: @
2026/07/10 15:48:46 [Server] New connection from: @
2026/07/10 15:49:27 [Server] Connection closed: @
(no error logged)

Steps to Reproduce

  1. Connect Claude Code to a remote host over SSH (password auth).
  2. Open a new session on any project directory.
  3. Send any message, e.g. "hello".
  4. Session displays "Setting up plugins..." and never proceeds.
  5. On the remote host, inspect /root/.claude/remote/plugins/

A new .tar.gz appears, ~3 MB, truncated.

$ tar -tzf <archive>.tar.gz
gzip: stdin: unexpected end of file

  1. Reproduced 11 times across separate sessions, after restarting the

app, killing the remote server, clearing plugins directory, and
disabling/uninstalling every plugin in the UI.

Note: small archives (cowork-plugin-management, ~0.5 MB) extract fine.
The failing archive is anthropic-skills (docx/pptx/pdf/skill-creator).

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.202

Claude Code Version

2.1.205

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

Client: Claude Code desktop app on Windows 11 (10.0.26200).
Remote host: Ubuntu 22.04.5 LTS on Hetzner CPX32 (4 vCPU, 8 GB RAM, 150 GB).
Remote server binary hash: 5db5e4a12f88487e47c2c48259b69a2d630bb3f7
CLI versions present: 2.1.202 (Jul 8), 2.1.205 (Jul 10).
Sessions ran normally on 2.1.202; hang began after 2.1.205 appeared.

Ruled out on the remote host:

  • Disk: 26 GB free (was 22 GB, freed 3.7 GB, no change)
  • Memory: 5.2 GB available, load 0.03
  • Network: curl downloaded a 10 MB file, HTTP 200, exact size
  • SFTP: uploaded a 3,000,000-byte file, arrived at exactly 3,000,000
  • Plugins: every plugin disabled, then uninstalled — archive still

downloads on each session and still truncates

  • Cleared ~/.claude/remote/plugins/ entirely; a fresh archive is

fetched and truncates again

View original on GitHub ↗