Panniantong/Agent-Reach · error

agent-reach install: error: unknown channel(s): {unknown}. S

Error message

agent-reach install: error: unknown channel(s): {unknown}. Supported: {supported}

What it means

`agent-reach install` parses its --channels argument as a comma-separated list and rejects any name not in the supported channel set (plus the pseudo-channel 'all'). Unknown names print this error to stderr (naming the offending names and the full supported list) and exit with status 2. Example: `agent-reach install twitter,reddit` works; `agent-reach install twiter` fails.

Source

Thrown at agent_reach/cli.py:292

        # xueqiu: cookie-only, no install step
        # linkedin: manual setup, no auto-install
    }
    supported_channels = set(CHANNEL_INSTALLERS) | {"xueqiu", "linkedin"}
    raw_channels = [
        channel.strip().lower()
        for channel in args.channels.split(",")
        if channel.strip()
    ]
    unknown_channels = set(raw_channels) - supported_channels - {"all"}
    if unknown_channels:
        supported = ", ".join(sorted(supported_channels | {"all"}))
        unknown = ", ".join(sorted(unknown_channels))
        print(
            f"agent-reach install: error: unknown channel(s): {unknown}. "
            f"Supported: {supported}",
            file=sys.stderr,
        )
        raise SystemExit(2)

    if "all" in raw_channels:
        requested_channels = supported_channels
    else:
        requested_channels = set(raw_channels)

    config = Config(read_only=dry_run or safe_mode)
    print()
    print("Agent Reach Installer")
    print("=" * 40)

    if dry_run:
        print("DRY RUN — showing what would be done (no changes)")
        print()
    if safe_mode:
        print("SAFE MODE — skipping automatic system changes")
        print()

View on GitHub (pinned to 93ae1d18c3)

Solutions

  1. Run `agent-reach install --channels=all` or `agent-reach doctor` to see the currently supported channel names
  2. Fix the typo — the error message itself lists the exact supported set, sorted
  3. Ensure names are comma-separated with no stray punctuation: --channels=twitter,reddit,youtube
  4. Pin/upgrade agent-reach to the version whose docs you are following so names match

Example fix

# before
agent-reach install --channels=twiter,reddit

# after
agent-reach install --channels=twitter,reddit
Defensive patterns

Strategy: validation

Validate before calling

from agent_reach.core import create_channels  # names come from the registry

supported = {ch.name for ch in create_channels()} | {"all"}

def valid_install_targets(names: list[str]) -> list[str]:
    unknown = set(names) - supported
    if unknown:
        raise ValueError(f"unknown channels {sorted(unknown)}; supported: {sorted(supported)}")
    return names

Prevention

When it happens

Trigger: agent-reach install --channels=<name> where <name> is misspelled ('twiter', 'reddt'), uses a hyphen where none is expected, refers to a channel removed/renamed in a newer version, or embeds whitespace that isn't trimmed away as an empty entry.

Common situations: Typos in shell scripts and CI pipelines; channel names changing across agent-reach versions; copying install commands from outdated docs or blog posts.

Related errors


AI-assisted analysis of Panniantong/Agent-Reach@93ae1d18c3 (2026-08-14). Data as JSON: /api/errors/59a5720515b0c63f. Report an issue: GitHub.