All configured channels healthy
What this checks
Checks that all configured messaging channels have successful probe results.
Why it matters
Unhealthy channels mean security alerts and scan results may not be delivered, leaving operators blind to issues.
How to fix it
Step 1 Identify the failing channel. Run the health check to see which channel failed and why:
openclaw health --json | jq '.channels | to_entries[] | select(.value.probe.ok == false) | {channel: .key, error: .value.probe.error}'
Step 2 Common causes and fixes by channel:
Slack: Invalid or revoked bot token. Re-generate the bot token in your Slack App settings (api.slack.com/apps) and update it in your OpenClaw config or environment.
Telegram: Bot token expired or bot was deleted. Create a new bot via @BotFather and update the token in config.
Signal: Signal CLI process not running or registration lapsed. Run openclaw channels signal status for details.
iMessage: If cliPath is set but probe fails, the imsg CLI needs Full Disk Access. Go to System Settings โ Privacy & Security โ Full Disk Access and add the terminal or process running OpenClaw.
Discord: Bot token invalid or missing required intents. Check the Discord Developer Portal and ensure the bot has the Message Content and Server Members intents enabled.
Step 3 Update credentials in config if needed, then restart:
openclaw gateway restart
Step 4 Verify: Re-run openclaw health --json and confirm probe.ok = true for all configured channels.
Technical details
| Field | Value |
|---|---|
| Control ID | NC-OC-008 |
| Domain | OC |
| Severity | Medium |
| Status | Stable |
| Data source | health_json |
| Source type | contextual |
| Mode | Mode 1 (OpenClaw native) |
| Introduced in | Library v0.1.0 |
False positive notes
Channels configured but intentionally unused may show as unhealthy. Use exclusions if this is expected.
Suppress this finding
If this finding is intentional or not applicable to your setup, you can exclude it:
clawvitals exclude NC-OC-008 reason "your reason here"
Exclusions are auditable and expire automatically. See the exclusions guide.