{
  "title": "`openclaw channels`",
  "content": "Manage chat channel accounts and their runtime status on the Gateway.\n\n* Channel guides: [Channels](/channels/index)\n* Gateway configuration: [Configuration](/gateway/configuration)\n\n## Add / remove accounts\n\nTip: `openclaw channels add --help` shows per-channel flags (token, app token, signal-cli paths, etc).\n\n## Login / logout (interactive)\n\n* Run `openclaw status --deep` for a broad probe.\n* Use `openclaw doctor` for guided fixes.\n* `openclaw channels list` prints `Claude: HTTP 403 ... user:profile` → usage snapshot needs the `user:profile` scope. Use `--no-usage`, or provide a claude.ai session key (`CLAUDE_WEB_SESSION_KEY` / `CLAUDE_WEB_COOKIE`), or re-auth via Claude Code CLI.\n\n## Capabilities probe\n\nFetch provider capability hints (intents/scopes where available) plus static feature support:\n\n* `--channel` is optional; omit it to list every channel (including extensions).\n* `--target` accepts `channel:<id>` or a raw numeric channel id and only applies to Discord.\n* Probes are provider-specific: Discord intents + optional channel permissions; Slack bot + user scopes; Telegram bot flags + webhook; Signal daemon version; MS Teams app token + Graph roles/scopes (annotated where known). Channels without probes report `Probe: unavailable`.\n\n## Resolve names to IDs\n\nResolve channel/user names to IDs using the provider directory:\n\n* Use `--kind user|group|auto` to force the target type.\n* Resolution prefers active matches when multiple entries share the same name.",
  "code_samples": [
    {
      "code": "## Add / remove accounts",
      "language": "unknown"
    },
    {
      "code": "Tip: `openclaw channels add --help` shows per-channel flags (token, app token, signal-cli paths, etc).\n\n## Login / logout (interactive)",
      "language": "unknown"
    },
    {
      "code": "## Troubleshooting\n\n* Run `openclaw status --deep` for a broad probe.\n* Use `openclaw doctor` for guided fixes.\n* `openclaw channels list` prints `Claude: HTTP 403 ... user:profile` → usage snapshot needs the `user:profile` scope. Use `--no-usage`, or provide a claude.ai session key (`CLAUDE_WEB_SESSION_KEY` / `CLAUDE_WEB_COOKIE`), or re-auth via Claude Code CLI.\n\n## Capabilities probe\n\nFetch provider capability hints (intents/scopes where available) plus static feature support:",
      "language": "unknown"
    },
    {
      "code": "Notes:\n\n* `--channel` is optional; omit it to list every channel (including extensions).\n* `--target` accepts `channel:<id>` or a raw numeric channel id and only applies to Discord.\n* Probes are provider-specific: Discord intents + optional channel permissions; Slack bot + user scopes; Telegram bot flags + webhook; Signal daemon version; MS Teams app token + Graph roles/scopes (annotated where known). Channels without probes report `Probe: unavailable`.\n\n## Resolve names to IDs\n\nResolve channel/user names to IDs using the provider directory:",
      "language": "unknown"
    }
  ],
  "headings": [
    {
      "level": "h2",
      "text": "Common commands",
      "id": "common-commands"
    },
    {
      "level": "h2",
      "text": "Add / remove accounts",
      "id": "add-/-remove-accounts"
    },
    {
      "level": "h2",
      "text": "Login / logout (interactive)",
      "id": "login-/-logout-(interactive)"
    },
    {
      "level": "h2",
      "text": "Troubleshooting",
      "id": "troubleshooting"
    },
    {
      "level": "h2",
      "text": "Capabilities probe",
      "id": "capabilities-probe"
    },
    {
      "level": "h2",
      "text": "Resolve names to IDs",
      "id": "resolve-names-to-ids"
    }
  ],
  "url": "llms-txt#`openclaw-channels`",
  "links": []
}