Visual Studio Code (VS Code) is a source-code editor with an extension that lets a user edit files on another computer over Secure Shell (SSH), a protocol for authenticated remote connections. A February 2025 Fly.io post examines how that connection starts and argues that the remote component deserves closer scrutiny.

The post contrasts VS Code with Tramp, an Emacs extension that uses commands available in the remote environment. According to Fly.io, VS Code instead stages a Bash script that downloads an agent and a binary installation of Node, then runs that agent through the SSH connection. The author says the agent opens a WebSockets connection—a persistent two-way web connection—back to the VS Code front end on the user’s computer.

That design is not inherently accidental. Remote development requires software on the destination computer so the local editor can browse files, edit them, open shell sessions and run other extensions there. In practical terms, connecting to a development machine means granting the editor’s remote agent the ability to act within that machine’s permissions. The same mechanism can support testing or deployment work, but it also makes the choice of host important.

Fly.io’s concern is therefore about scope rather than file editing alone: its supplied description says the protocol can wander the filesystem, edit arbitrary files, launch shell pseudo-terminals and persist itself. A pseudo-terminal is an interactive command-line session. Those capabilities matter most when the destination is shared, sensitive or used during an incident; the post explicitly expresses greater concern about development servers and production systems.

The supplied material does not independently verify the implementation details or establish that every VS Code Remote SSH setup has the same risk. It is one publisher’s architectural reading, while reader cues correctly note that remote control is also the feature’s purpose and that SSH access can be restricted. The unresolved question is operational: whether the host is an intentionally trusted development environment, not whether a remote-editing tool can issue remote commands.