github asheshgoplani/agent-deck v1.7.0

latest releases: v1.10.11, v1.10.10, v1.10.9...
3 months ago

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-deck

Quick Install:

curl -fsSL https://raw.githubusercontent.com/asheshgoplani/agent-deck/main/install.sh | bash

Go Install:

go install github.com/asheshgoplani/agent-deck/cmd/agent-deck@v1.7.0

Changelog

  • 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

Don't miss a new agent-deck release

NewReleases is sending notifications on new releases.