From 6967e3e7497403dd5d75f036b84b4e50e4ca9294 Mon Sep 17 00:00:00 2001 From: juancwu <46619361+juancwu@users.noreply.github.com> Date: Sun, 11 Jan 2026 20:50:10 -0500 Subject: [PATCH] fallback to standard ssh when no key is found in store --- agent.go | 41 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/agent.go b/agent.go index 03b0146..b6a275d 100644 --- a/agent.go +++ b/agent.go @@ -85,30 +85,27 @@ func startSSH(storePath string, args []string) { if host != "" { pemData, err := findKey(storePath, user, host) - if err != nil { - fmt.Println("Error:", err) - os.Exit(1) - } - - targetName := host - if user != "" { - targetName = user + "@" + host - } - - socketPath, cleanup, err := startEphemeralAgent(pemData, targetName) - if err != nil { - fmt.Println("Error:", err) - os.Exit(1) - } - defer cleanup() - - newEnv := []string{"SSH_AUTH_SOCK=" + socketPath} - for _, e := range env { - if !strings.HasPrefix(e, "SSH_AUTH_SOCK=") { - newEnv = append(newEnv, e) + if err == nil { + targetName := host + if user != "" { + targetName = user + "@" + host } + + socketPath, cleanup, err := startEphemeralAgent(pemData, targetName) + if err != nil { + fmt.Println("Error:", err) + os.Exit(1) + } + defer cleanup() + + newEnv := []string{"SSH_AUTH_SOCK=" + socketPath} + for _, e := range env { + if !strings.HasPrefix(e, "SSH_AUTH_SOCK=") { + newEnv = append(newEnv, e) + } + } + env = newEnv } - env = newEnv } sshPath, err := exec.LookPath("ssh")