diff --git a/agent/agentssh/agentssh.go b/agent/agentssh/agentssh.go index 9bd0c2cf30556..f05bbaf7c861b 100644 --- a/agent/agentssh/agentssh.go +++ b/agent/agentssh/agentssh.go @@ -557,7 +557,7 @@ func (s *Server) sftpHandler(logger slog.Logger, session ssh.Session) { defer server.Close() err = server.Serve() - if errors.Is(err, io.EOF) { + if err == nil || errors.Is(err, io.EOF) { // Unless we call `session.Exit(0)` here, the client won't // receive `exit-status` because `(*sftp.Server).Close()` // calls `Close()` on the underlying connection (session),