Skip to content

squad watch silently ignores --monitor-teams and other flags; Teams webhook not implemented #739

Closed as not planned

Description

@bradygaster

Summary

Running squad watch with notification flags (--monitor-teams, --monitor-email, --execute, --board, --two-pass, --retro, --decision-hygiene, --wave-dispatch) has no effect — the flags are silently ignored and no Teams/email messages are ever sent.

Root Cause

Two separate issues:

1. CLI entry point drops all flags except --interval

In cli-entry.ts (lines 322–329), the watch command parser only extracts --interval:

if (cmd === 'triage' || cmd === 'watch') {
  const { runWatch } = await import('./cli/commands/watch.js');
  const intervalIdx = args.indexOf('--interval');
  const intervalMinutes = (intervalIdx !== -1 && args[intervalIdx + 1])
    ? parseInt(args[intervalIdx + 1]!, 10)
    : 10;
  await runWatch(process.cwd(), intervalMinutes);
  return;
}

All other flags are never read, never passed to runWatch(), and never surface any warning.

2. Teams webhook adapter is not implemented

In squad-sdk/src/platform/comms.ts (lines 103–106), the teams-webhook channel falls back to file logging:

case 'teams-webhook':
  console.warn('Teams webhook adapter not yet implemented — using file log fallback');
  return new FileLogCommunicationAdapter(repoRoot);

Even if the CLI parsed --monitor-teams, messages would still go to the file log, not Teams.

Reproduction

squad watch --monitor-teams --monitor-email --execute --board --interval 1

Expected: Teams and/or email notifications when board state changes.
Actual: No notifications. Flags are silently ignored. No warning printed.

Suggested Fix

  1. Parse all flags in cli-entry.ts and pass them through to runWatch() as an options object.
  2. Warn users if unrecognized or unimplemented flags are passed (e.g. ⚠ --monitor-teams is not yet implemented).
  3. Implement the Teams webhook adapter — or at minimum surface the "not yet implemented" warning when the flag is explicitly requested.
  4. Update runWatch() signature to accept the full set of options.

Environment

  • squad-cli: 0.9.2-insider.5
  • squad-sdk: 0.9.1
  • OS: Windows 11

Activity

  1. added
    bugSomething isn't working
    squadSquad triage inbox — Lead will assign to a member
    on Apr 8, 2026
  2. bradygaster commented on Apr 12, 2026

    @bradygaster
    CollaboratorAuthor

    Consolidating watch flag issues — the core work here overlaps with #811 (discoverable local service) and #919 (declarative skill-based pipelines). Closing in favor of those.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingsquadSquad triage inbox — Lead will assign to a member

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions