When connected to a remote host via Zed's SSH remote development, closing
the local Zed client (or losing the connection) sends an interrupt/stop
signal to any active Agent Panel thread, instead of letting it continue
running on the remote daemon.
Zed's remote architecture already keeps the project/language-server daemon
alive across disconnects (proxy mode reconnects transparently), and
terminals sent via ClientMessage::Detach are meant to keep running
server-side rather than being killed (per discussion #50584). Agent panel
threads don't get the same treatment: closing the client mid-run
interrupts the thread rather than detaching it, so long-running agent
tasks can't survive a client disconnect/reconnect cycle.
This is related to but distinct from:
Expected behavior: an active Agent Panel thread should detach and keep
running on the remote daemon when the local client closes/disconnects,
the same way terminal sessions are intended to, and reattach to the
in-progress thread on reconnect.
Actual behavior: the thread receives a user-interrupted signal and
stops when the client/SSH connection closes.
Environment: Zed connected to a remote host over SSH remote development.
When connected to a remote host via Zed's SSH remote development, closing
the local Zed client (or losing the connection) sends an interrupt/stop
signal to any active Agent Panel thread, instead of letting it continue
running on the remote daemon.
Zed's remote architecture already keeps the project/language-server daemon
alive across disconnects (proxy mode reconnects transparently), and
terminals sent via
ClientMessage::Detachare meant to keep runningserver-side rather than being killed (per discussion #50584). Agent panel
threads don't get the same treatment: closing the client mid-run
interrupts the thread rather than detaching it, so long-running agent
tasks can't survive a client disconnect/reconnect cycle.
This is related to but distinct from:
Expected behavior: an active Agent Panel thread should detach and keep
running on the remote daemon when the local client closes/disconnects,
the same way terminal sessions are intended to, and reattach to the
in-progress thread on reconnect.
Actual behavior: the thread receives a user-interrupted signal and
stops when the client/SSH connection closes.
Environment: Zed connected to a remote host over SSH remote development.