v1.16.1
This release moves workspace SSH hosts out of your SSH config and into generated files the extension fully owns, so your global SSH options and other editors can no longer interfere with how Coder connects. It also deprecates the Tasks panel, ties everything a session does to one searchable ID, and logs workspace and agent state changes as they happen.
Highlights
Fully Isolated SSH Configuration
Workspace SSH hosts are now written to generated files under your platform's data directory (coder.coder-remote/ssh) instead of into your SSH config. Your config carries only an include of that directory, which moves back to the top on every connection. Because ssh uses the first value it finds for each option, global options in your config, such as a catch-all Host *, no longer change how the extension connects. To override the generated options, set them in coder.sshConfig, which still takes precedence. (#1061)
The extension generates one file per editor and deployment, all behind the same include, so VS Code, Cursor, Windsurf, and other forks no longer overwrite one another's workspace hosts. Each fork keeps its own SSH host prefix, and legacy coder-vscode authorities are migrated by automatically reopening the window once.
The new layout also means:
- "Unexpected SSH Config Option" is gone. The include sits at the top of your config, so the generated options always take effect and there is nothing left to warn about. Validation of the options your deployment sends is unchanged.
- You can see exactly what was generated. The new Coder: Open Generated SSH Configuration File command opens this editor's generated workspace hosts file in a read-only editor. A connected window opens its own deployment's file; a local window asks which deployment to open when there are several.
Tasks Panel Deprecated
Important
The Tasks panel is deprecated. It is now titled Coder Tasks (Deprecated), and is hidden entirely on Coder 2.35 and newer. (#1070)
Improvements
- One ID ties a session together. Every line in the Coder output channel is prefixed with a per-session ID, and that same ID is sent to your deployment and to the
coderCLI. Searching for it in the logs or a support bundle picks out everything one session did, even when several windows are connected at once. (#1073, #1074) - Workspace state changes leave a trail. Workspace, agent, and lifecycle status changes are logged as they happen, including agents that disappear. A slow or failed connection now leaves a record of what the workspace and its agents were doing at the time, instead of only the error at the end. (#1075)
Bug Fixes
- The SSH config file setting is ignored on Antigravity and Windsurf/Devin. These editors launch ssh without pointing it at a config file, so it always reads
~/.ssh/config, and honoring the setting wrote the workspace host where the connection never looked. (#1061) - Malformed responses are reported at the source. A malformed response from your deployment or proxy now raises an error naming the endpoint that sent it, instead of an unrelated crash later on. Waiting on a workspace build now fails on a bad response rather than hanging forever. (#1071)
- Stale download progress is cleaned up. Other windows waiting on the same CLI download no longer show stale progress. (#1082)
New Contributors
Full changelog: v1.16.0...v1.16.1