Agent Deck v1.9.73
Terminal session manager for AI coding agents.
This release bundles every fix and feature merged since v1.9.70 (the v1.9.71 and v1.9.72 prep tags were never published, so their changes ride along here).
⭐ Headline fix — sessions no longer read as error under a non-UTF-8 locale (#1496)
The status probe now uses a printable field delimiter so tmux -F reads survive a non-UTF-8 locale. Under C/POSIX or an unset LANG — the exact environment headless conductors and CI runners boot into — every session was being parsed as error. This is the standout fix for anyone running agent-deck outside an interactive UTF-8 terminal.
Fixed
- Locale-safe status delimiter so
tmux -Fprobes survive a non-UTF-8 locale (C/POSIX/unsetLANG); sessions no longer all read aserror. (#1496) - Self-heal no longer bloats
config.toml— the selfheal section stops growing the config file on every run. (#1494) - Notify daemon logging initialized + bounded log for the session-id lifecycle, so the notify daemon logs correctly without unbounded growth. (#1498)
--session-idhonored on the Start path — an explicit session id is now respected when starting a session. (#1473)- Uppercase group names work for
group create --parent/group delete.normalizeGroupPathpreserves case, andgroup deleteerrors on ambiguity (with sorted suggestions) instead of silently deleting a random duplicate. (#1501) - Forked sessions inherit tool identity for Claude-compatible tools (gemini, codex, opencode, …) instead of resetting to
claude. (#1479) - Headless web menu no longer serves stale content after session changes — the menu snapshot cache is invalidated on every change. (#1477)
- Dialogs respect terminal width via a
fitDialogWidthhelper, preventing overflow/border clipping on narrow terminals. (#1476) - Orphaned sub-sessions render in stable order instead of shuffling between redraws. (#1443)
- tmux: live control pipes kept only for active sessions (small LRU) — eliminates attach-storm freezes and tmux backpressure when running multiple deck instances. (#1469)
Added
- Conductors work without remote channels (local-first).
conductor setupdefaults to local-only; a single gateway question gates all channel prompts; heartbeat is always-on; re-running setup is credential-wipe-safe. (#1474) group_sortconfig option to choose within-group session ordering (creation order by default; setgroup_sort = "actionable"to restore recency-first). (#1443)- Session-switcher hotkey is opt-in (no longer bound by default; set
switch_sessionunder[hotkeys]to enable). (#1478) - Session-switcher dialog shows title/subtitle and auto-expands width so labels are never truncated. (#1475)
- Worktree-destruction hook —
agent-deck-worktree-destroy.shruns (60 s timeout) beforegit worktree remove, enabling pre-cleanup. (#1487) - Test coverage for the worktree setup path. (#1472)
Installation
Homebrew (recommended):
brew install asheshgoplani/tap/agent-deckQuick Install:
curl -fsSL https://raw.githubusercontent.com/asheshgoplani/agent-deck/main/install.sh | bashGo Install:
go install github.com/asheshgoplani/agent-deck/cmd/agent-deck@v1.9.73Full Changelog: v1.9.70...v1.9.73