메인 콘텐츠로 건너뛰기

openclaw channels

Gateway에서 chat channel account와 해당 runtime status를 관리합니다. Related docs:

Common commands

openclaw channels list
openclaw channels status
openclaw channels capabilities
openclaw channels capabilities --channel discord --target channel:123
openclaw channels resolve --channel slack "#general" "@jane"
openclaw channels logs --channel all

Add / remove accounts

openclaw channels add --channel telegram --token <bot-token>
openclaw channels remove --channel telegram --delete
Tip: openclaw channels add --help는 channel별 flag(token, app token, signal-cli path 등)를 보여줍니다. flag 없이 openclaw channels add를 실행하면 interactive wizard가 다음을 물어볼 수 있습니다.
  • 선택한 channel별 account id
  • 해당 account의 optional display name
  • Bind configured channel accounts to agents now?
bind now를 확인하면 wizard는 각 configured channel account를 어떤 agent가 소유할지 묻고, account-scoped routing binding을 기록합니다. 같은 routing rule은 나중에 openclaw agents bindings, openclaw agents bind, openclaw agents unbind로도 관리할 수 있습니다. (agents 참고) single-account top-level setting만 쓰고 있던 channel에 non-default account를 추가하면, OpenClaw는 기존 single-account top-level value를 channels.<channel>.accounts.default로 옮긴 뒤 새 account를 기록합니다. 이렇게 하면 multi-account shape로 전환하면서 기존 account 동작이 유지됩니다. routing behavior는 일관되게 유지됩니다.
  • 기존 channel-only binding (accountId 없음)은 계속 default account와 매칭됩니다.
  • channels add는 non-interactive mode에서 binding을 자동 생성하거나 수정하지 않습니다.
  • interactive setup은 account-scoped binding을 선택적으로 추가할 수 있습니다.
config가 이미 혼합 상태였다면(예: named account는 있는데 default는 없고 top-level single-account value는 남아 있음), account-scoped value를 accounts.default로 옮기기 위해 openclaw doctor --fix를 실행하세요.

Login / logout (interactive)

openclaw channels login --channel whatsapp
openclaw channels logout --channel whatsapp

Troubleshooting

  • 넓은 범위의 probe는 openclaw status --deep를 사용하세요.
  • guided fix는 openclaw doctor를 사용하세요.
  • openclaw channels listClaude: HTTP 403 ... user:profile를 출력하면, usage snapshot에 user:profile scope가 필요하다는 뜻입니다. --no-usage를 쓰거나, claude.ai session key (CLAUDE_WEB_SESSION_KEY / CLAUDE_WEB_COOKIE)를 제공하거나, Claude Code CLI로 다시 auth하세요.
  • openclaw channels status는 gateway에 도달할 수 없으면 config-only summary로 fallback합니다. 지원되는 channel credential이 SecretRef로 구성되어 있지만 현재 command path에서 사용할 수 없는 경우, account는 not configured로 보이지 않고 configured 상태에 degraded note를 붙여 표시됩니다.

Capabilities probe

provider capability hint(intents/scopes, 가능한 경우)와 static feature support를 가져옵니다.
openclaw channels capabilities
openclaw channels capabilities --channel discord --target channel:123
Notes:
  • --channel은 optional입니다. 생략하면 extension을 포함한 모든 channel을 나열합니다.
  • --targetchannel:<id> 또는 raw numeric channel id를 받으며 Discord에만 적용됩니다.
  • probe는 provider-specific입니다. Discord intents + optional channel permission, Slack bot + user scope, Telegram bot flag + webhook, Signal daemon version, MS Teams app token + Graph role/scope(알 수 있는 경우 annotation 포함)를 보여줍니다. probe가 없는 channel은 Probe: unavailable로 표시됩니다.

Resolve names to IDs

provider directory를 사용해 channel/user name을 ID로 resolve합니다.
openclaw channels resolve --channel slack "#general" "@jane"
openclaw channels resolve --channel discord "My Server/#support" "@someone"
openclaw channels resolve --channel matrix "Project Room"
Notes:
  • --kind user|group|auto로 target type을 강제할 수 있습니다.
  • 같은 이름이 여러 개일 경우 active match를 우선합니다.
  • channels resolve는 read-only입니다. 선택된 account가 SecretRef 기반이고 현재 command path에서 그 credential을 사용할 수 없더라도, command 전체를 abort하지 않고 degraded unresolved result와 note를 반환합니다.