Files
AgentHub/docs/claude-memory/update-never-kills-panes.md
T
nntrivi2001 9c573f1e3c docs: snapshot of the project's Claude Code memory
Decisions, environment quirks and pitfalls learned while working on AgentHub
(docs/claude-memory/, indexed by MEMORY.md). Notes holding personal account
details are left out.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 15:27:35 +07:00

18 lines
1.4 KiB
Markdown

---
name: update-never-kills-panes
description: Updating AgentHub must never kill existing tmux lane panes; only Quit AgentHub closes them
metadata:
node_type: memory
type: feedback
originSessionId: f681ac06-d81e-4a3d-bd50-0679b1bcf18a
modified: 2026-10-08T01:47:38.004Z
---
Updating AgentHub (plugin update, checkout self-update, bootstrap `--force`, systemd/launchd restart) must NEVER kill the existing tmux panes (`agenthub-lane-*`). Panes are closed only by **Quit AgentHub** (`POST /api/settings/quit`, `agenthub stop`, issue #65), plus the user's own per-lane stop/reset/remove.
**Why:** the user said so directly (2026-10-08). Running agents live in those panes, and an update that kills them throws away work in progress.
Beyond AgentHub's control (the user has not signed off on these, so report them): Linux logout without linger, systemd-oomd under memory pressure, Windows psmux (unverified).
**How to apply:** never add `killRun`/`killSession`/`kill-server` to any update, restart or shutdown path. Keep `KillMode=process` in `scripts/systemd-service.js`, the `systemd-run --user --scope` start of the tmux server in `server/lib/tmux.js` (Linux), and `AbandonProcessGroup` in the launchd plist. tmux can be forked into the `agenthub.service` cgroup, and systemd's default `control-group` would kill every pane on restart. When reviewing update or restart changes, check this. Related: [[never-tmux-kill-server]].