v1.7.0
First-class `--channel` / `channels` field for sessions
Adds a dedicated session field for Claude Code plugin channels (Telegram, Discord, Slack, …), making channel subscriptions a named, persisted, restart-safe part of the session — no more wrapper hack.
Motivated by the 2026-04-15 incident: conductor silently lost Telegram messages after a restart because the `claude` invocation was regenerated without `--channels`.
New
- `agent-deck add --channel ` (repeatable) — record channel(s) at session creation
- `agent-deck launch --channel ` — same, in the combined add+start flow
- `agent-deck session set channels ` — update channels later
- `Session.channels` field in `list --json` / `session show --json`
Fixed
- Session restart previously dropped `--channels` (and any other extra flag). Start and restart now share a single flag-building path (`buildClaudeExtraFlags`) — so future flag additions can't de-sync between the two paths.
Tests added
7 automated + 1 manual E2E entry in `.claude/release-tests.yaml` (a new pre-release regression manifest this release introduces):
- `TestStartCommandAppendsChannels`
- `TestStartCommandOmitsChannelsWhenEmpty`
- `TestChannelsRestartPersist`
- `TestResumeCommandAppendsChannels` ← guards against the restart-path flag-desync class of bug
- `TestAddChannelFlag`
- `TestSessionSetChannels`
- `TestChannelsOnlyForClaude`
- `ch-support-e2e-manual` — end-to-end restart-preserves-channels check
Validation
- All 7 targeted tests green
- Session persistence suite + verify-session-persistence.sh CI workflows both green
- Visual-regression workflow failed on an unrelated CI infrastructure issue (web server did not start in the runner — connection refused on port 18420); this change touches zero web/UI code, so not a regression
Backward compatibility
- `Channels` field is `omitempty` — pre-existing sessions decode as `nil`, emit no `--channels` flag, zero behavior change
- `wrapper` field untouched — orthogonal to channels
- No schema migration — `tool_data` JSON blob is additive-only
Commits on main
- `1917dc2` feat(session): add Channels field and emit --channels in claude command
- `b9ff327` feat(cli): --channel flag on add/launch + storage round-trip for Channels
- `ea2fe41` feat(cli): allow 'agent-deck session set channels '
- `e7097e1` fix(session): preserve --channels (and all extra flags) on restart
- `bf62623` Merge pull request #614 from asheshgoplani/fix/ch-support
- `94a003e` chore: bump version to v1.7.0
PR: #614
Agent Deck v1.7.0
Terminal session manager for AI coding agents.
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.7.0Changelog
- b9ff327 feat(cli): --channel flag on add/launch + storage round-trip for Channels
- ea2fe41 feat(cli): allow 'agent-deck session set channels '
- 1917dc2 feat(session): add Channels field and emit --channels in claude command
- e7097e1 fix(session): preserve --channels (and all extra flags) on restart
- 8ca08b0 release-tests(ch-support): add 7 regression tests (6 auto + 1 manual e2e)
- e3a8ca9 release-tests(ch-support): add TestResumeCommandAppendsChannels
- a8603bd test(ch-support): failing regression for restart dropping --channels
- 4adac62 test(ch-support): failing tests for first-class --channel/channels field
Full Changelog: v1.6.1...v1.7.0