Fix: kill stale tmux session as separate command, not in chain

tmux aborts the entire command chain when kill-session fails (no
existing session). This caused 'no current target' error on Linux.

The kill-session is now a separate exec.Command() call before
starting the tmux chain, ignoring any error.
This commit is contained in:
2026-08-09 20:45:44 +02:00
parent 4c0650c43b
commit 8546ac9bf2
2 changed files with 5 additions and 2 deletions
+2 -1
View File
@@ -89,7 +89,8 @@ not cover: **redeploy** and **secrets diff**.
Example startup command (generic placeholders):
```
tmux kill-session -t kctl \; \
# Kill stale session first (separate command — tmux aborts on kill-session error).
tmux kill-session -t kctl
tmux new-session -d -s kctl \
-- "kctl-tui panel --context=$CTX_A --ns=$NS --team=$TEAM" \; \
set-option -t kctl remain-on-exit on \; \
+3 -1
View File
@@ -277,8 +277,10 @@ func (m *fullModel) startTmuxSession() tea.Cmd {
ctxA := m.cfg.ResolveContext(envA, m.selectedContext)
k9sCmdA := fmt.Sprintf("k9s --context %s -n %s", ctxA, m.selectedNamespace)
// Kill stale session first (ignore error if none exists).
exec.Command("tmux", "kill-session", "-t", "kctl").Run()
args := []string{
"kill-session", "-t", "kctl", ";", // ignore error if no session exists
"new-session", "-d", "-s", "kctl",
"--", panelCmd, ";",
"set-option", "-t", "kctl", "remain-on-exit", "on", ";",