From fce23afd280ad6ddff7636415f554b4ebf8994e1 Mon Sep 17 00:00:00 2001 From: Levi Neely <141506390+lneely@users.noreply.github.com> Date: Sun, 19 Jul 2026 19:10:02 +0200 Subject: [PATCH] session: store remote target, expose in cfg read The remote= field is now visible when reading s/{id}/cfg, and stored on the Session struct for future persistence. --- session/session.go | 2 ++ session/sessionfile.go | 1 + 2 files changed, 3 insertions(+) diff --git a/session/session.go b/session/session.go index 76905f8..be472e9 100644 --- a/session/session.go +++ b/session/session.go @@ -38,6 +38,7 @@ type Session struct { plan []byte prevPrompt []byte // last submitted prompt; overwritten on each new submission peers map[string]bool // peer session IDs (bidirectional links) + remote string // SSH target for remote execution (empty = local) // Cached model list (expensive API call; refreshed every 24h). modelsMu sync.Mutex @@ -1043,6 +1044,7 @@ func (s *Manager) CreateSession(args []string) (string, error) { ctx, cancel := context.WithCancel(context.Background()) sess := NewSession(sessID, core, ctx, cancel) sessPtr = sess + sess.remote = remoteTarget s.mu.Lock() sess.uname = uname diff --git a/session/sessionfile.go b/session/sessionfile.go index 4e01d65..2045ff4 100644 --- a/session/sessionfile.go +++ b/session/sessionfile.go @@ -272,6 +272,7 @@ func (h *sessionHelper) cfgContent() string { fmt.Fprintf(&sb, "model=%s\n", h.sess.Core.ModelName()) fmt.Fprintf(&sb, "agent=%s\n", h.sess.Core.AgentName()) fmt.Fprintf(&sb, "cwd=%s\n", h.sess.Core.CWD()) + fmt.Fprintf(&sb, "remote=%s\n", h.sess.remote) fmt.Fprintf(&sb, "maxTokens=%d\n", p.MaxTokens) fmt.Fprintf(&sb, "maxCompletionTokens=%d\n", p.MaxCompletionTokens) if p.Temperature != nil {