Description
Quitting nikcli leaves a stale nikcli row in herdr's agent panel. It only disappears when you type exit in the pane's shell, which kills the pane itself.
Herdr clears an agent automatically only for the agents it recognizes by process. nikcli is reported, not detected, so herdr keeps the row until someone calls pane.release_agent. Nothing does:
HerdrPlugin.dispose() calls HerdrBridge.stop(), and stop() only resets local runtime state — no release.
releasePane() exists but is only reachable from the agent-facing herdr tool and releaseSession().
So claude, agy, pi and the rest drop out of the panel when they exit, and nikcli doesn't.
Note process.on("exit") can't await a socket write, so the release on the shutdown path has to be synchronous.
Plugins
none
Nikcli version
1.292.0 (also present on live-main today)
Steps to reproduce
- Start herdr, open a pane, run
nikcli. The agent panel shows a nikcli row.
- Quit nikcli (ctrl+c) — back to the shell prompt, nikcli's process is gone.
herdr pane get <pane_id> still reports "agent":"nikcli", and the row is still in the panel.
- Type
exit in the shell. Only then does the row disappear — because the pane goes with it.
Screenshot and/or share link
Agent panel showing nikcli · 5 for a pane whose nikcli process has already exited (shell prompt visible in the pane).
Operating System
Windows 11 Home 26200
Terminal
WezTerm, inside a herdr pane (herdr 0.8.0-preview)
Description
Quitting nikcli leaves a stale
nikclirow in herdr's agent panel. It only disappears when you typeexitin the pane's shell, which kills the pane itself.Herdr clears an agent automatically only for the agents it recognizes by process. nikcli is reported, not detected, so herdr keeps the row until someone calls
pane.release_agent. Nothing does:HerdrPlugin.dispose()callsHerdrBridge.stop(), andstop()only resets local runtime state — no release.releasePane()exists but is only reachable from the agent-facingherdrtool andreleaseSession().So claude, agy, pi and the rest drop out of the panel when they exit, and nikcli doesn't.
Note
process.on("exit")can't await a socket write, so the release on the shutdown path has to be synchronous.Plugins
none
Nikcli version
1.292.0 (also present on
live-maintoday)Steps to reproduce
nikcli. The agent panel shows anikclirow.herdr pane get <pane_id>still reports"agent":"nikcli", and the row is still in the panel.exitin the shell. Only then does the row disappear — because the pane goes with it.Screenshot and/or share link
Agent panel showing
nikcli · 5for a pane whose nikcli process has already exited (shell prompt visible in the pane).Operating System
Windows 11 Home 26200
Terminal
WezTerm, inside a herdr pane (herdr 0.8.0-preview)