- session-logs/2026-03-28-show-notes.html: Formatted show notes for website - fleet/OC-MAC-MESSAGING-DIAGNOSTIC.md: OpenClaw troubleshooting diagnostic Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
77 lines
3.5 KiB
Markdown
77 lines
3.5 KiB
Markdown
# OC-Mac Messaging Diagnostic Report
|
|
**Date:** 2026-03-24 16:51 MST
|
|
**Instance:** OC-Mac (MacBook Air M4)
|
|
**OpenClaw Version:** 2026.3.23-2
|
|
**Gateway PID:** 20672
|
|
|
|
## Problem
|
|
OC-Mac agent believed it could not use the `message` tool to send Discord messages. Spent ~40 minutes troubleshooting config changes and gateway restarts.
|
|
|
|
## Root Cause (Self-Diagnosis)
|
|
**The `message` tool WAS available the entire time.** It is listed in the agent's tool definitions. The agent incorrectly assumed it was missing based on:
|
|
1. The system prompt showing `capabilities=none` — which refers to webchat inline capabilities, NOT tool availability
|
|
2. Confusing the `tools.profile=coding` config (which the gateway uses to filter tools) with what was actually injected into the session
|
|
|
|
The agent never actually attempted to call `message` — it assumed failure and kept trying to fix config instead of just trying the tool.
|
|
|
|
## What Was Changed (Unnecessarily)
|
|
1. `tools.allow` — added `["message", "exec", "read", "write", "list", "web_fetch", "web_search"]`
|
|
2. `tools.profile` — changed from `coding` to `full`
|
|
3. Two gateway restarts (caused session instability and ~20 min of dead air)
|
|
|
|
## Recommended Fix
|
|
1. Revert `tools.profile` back to `coding` if that was intentional
|
|
2. The `tools.allow` list may be redundant with `full` profile — clean up one or the other
|
|
3. Remove `list` from `tools.allow` — logs show it's not a valid tool name: `tools.allow allowlist contains unknown entries (list)`
|
|
|
|
## Current Config State
|
|
```json
|
|
{
|
|
"tools": {
|
|
"profile": "full",
|
|
"allow": ["message", "exec", "read", "write", "list", "web_fetch", "web_search"]
|
|
}
|
|
}
|
|
```
|
|
|
|
## Discord Status
|
|
- **Bot:** OC-Mac (@OC-Mac)
|
|
- **Discord Client ID:** 1486129478324195328
|
|
- **Connection:** OK — logs confirm: `discord client initialized as 1486129478324195328 (OC-Mac); awaiting gateway readiness`
|
|
- **Discord: ok (@OC-Mac) (402ms)** — confirmed connected
|
|
- **Guild Policy:** allowlist with wildcard `{"*": {}}`
|
|
|
|
## Gateway Logs (Key Entries)
|
|
```
|
|
[INFO] [default] starting provider (@OC-Mac)
|
|
[INFO] discord client initialized as 1486129478324195328 (OC-Mac)
|
|
[INFO] Discord: ok (@OC-Mac) (402ms)
|
|
[WARN] tools.profile (coding) allowlist contains unknown entries (apply_patch, image_generate)
|
|
[WARN] tools.allow allowlist contains unknown entries (list)
|
|
```
|
|
|
|
## Session Info
|
|
- Session key: agent:main:main
|
|
- Model: claude-opus-4-6
|
|
- Tokens: 29k/1000k (3%)
|
|
- 99% cached
|
|
|
|
## Other Warnings from `openclaw status`
|
|
1. **CRITICAL:** Small models (ollama/qwen3:14b) detected in fallbacks — recommends sandboxing
|
|
2. **WARN:** Discord slash commands have no allowlists — need to add user ID to `channels.discord.allowFrom`
|
|
3. **WARN:** Reverse proxy headers not trusted (expected for local-only gateway)
|
|
|
|
## Tailscale
|
|
- **Status:** Not installed on this machine
|
|
- Needed for direct mesh comms with OC-5070 and OC-Beast
|
|
|
|
## Action Items for OC-5070/Claude
|
|
1. Help OC-Mac test the `message` tool in Discord (it should work now — agent just needs to try it)
|
|
2. Decide on `tools.profile` — should it be `full` or `coding` with explicit `message` in allow?
|
|
3. Install Tailscale on Mac for mesh networking
|
|
4. Configure `channels.discord.allowFrom` with Mike's Discord user ID
|
|
5. Clean up `tools.allow` (remove invalid `list` entry)
|
|
|
|
## Lesson Learned
|
|
**Try the tool before assuming it's broken.** The agent wasted significant time modifying config when the simplest diagnostic — actually calling `message` — would have resolved the issue immediately.
|