You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Persistent SSH-hosted Agent Runtime that survives client disconnects
#7369
The current POSIX SSH provider family lets filesystem, subprocess, terminal, and sandbox capabilities run on an SSH host while the Harness, Agent Loop, and Session remain on the client host.
This works well while the client is connected, but it does not cover a common remote-development workflow: start a multi-step agent task on a server, close or suspend the local desktop app, and reconnect later while the task continues on the server.
The SSH architecture note currently states:
Persistent remote reconnection needs a separate operation-identity and recovery design; it cannot reuse live callback handles after disconnect.
It also describes moving the complete Harness to the remote host as a separate deployment model. I would like to understand whether that deployment model, or an equivalent persistent remote-runtime design, is planned.
Desired behavior
After selecting an SSH host and remote project:
The complete Agent Runtime and authoritative Session run persistently on the remote host.
Closing, sleeping, or temporarily disconnecting the local desktop client does not stop the active turn.
The remote agent can continue model calls, file operations, shell commands, background jobs, Skills, MCP servers, and host-side plugins.
Actions requiring a new user approval pause safely while no client is connected.
Reopening the desktop client reconnects to the same Session and resumes the event stream from a durable cursor.
An operation submitted before disconnection is queried by a stable operation ID rather than blindly replayed, so commands and mutations cannot execute twice.
The remote runtime listens only on a Unix socket or loopback interface and is reached through authenticated SSH forwarding.
The remote runtime can be installed, version-checked, upgraded, and rolled back without exposing a public service.
This is different from keeping one shell process alive in tmux or systemd. The complete multi-step Agent Loop should remain active after the local client disappears.
Recovery semantics
A reconnectable protocol would likely need durable identities such as:
session ID
turn ID
monotonic event sequence or cursor
operation ID
persisted pending approval ID
For side-effecting work, clients should be able to distinguish at least:
not started
running
succeeded
failed
cancelled
outcome unknown
An ambiguous operation should not be automatically replayed.
Questions
Is a persistent SSH-hosted Harness/Agent Runtime planned?
Does the deferred “persistent remote reconnection” work refer only to reconnecting the SSH providers, or also to Agent Loop, Session, approvals, and background jobs?
Is there an internal design, tracking item, or approximate roadmap for this work?
Is the Desktop Connection/RPC layer expected to support a remote Host directly?
Would the project accept a community implementation, and which interfaces should it build on to minimize future migration work?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Motivation
The current POSIX SSH provider family lets filesystem, subprocess, terminal, and sandbox capabilities run on an SSH host while the Harness, Agent Loop, and Session remain on the client host.
This works well while the client is connected, but it does not cover a common remote-development workflow: start a multi-step agent task on a server, close or suspend the local desktop app, and reconnect later while the task continues on the server.
The SSH architecture note currently states:
It also describes moving the complete Harness to the remote host as a separate deployment model. I would like to understand whether that deployment model, or an equivalent persistent remote-runtime design, is planned.
Desired behavior
After selecting an SSH host and remote project:
This is different from keeping one shell process alive in tmux or systemd. The complete multi-step Agent Loop should remain active after the local client disappears.
Recovery semantics
A reconnectable protocol would likely need durable identities such as:
For side-effecting work, clients should be able to distinguish at least:
An ambiguous operation should not be automatically replayed.
Questions
All reactions