2026 OpenClaw "No Reply" & Silent Failures: Heartbeat, Thinking, Cron & Channel Checklist
Dashboard loads and port 18789 is open, yet users see long silences, Cron finishes with no delivery, or logs look successful while chat stays empty—three patterns often lumped together in 2026. This guide layers symptoms first: model thinking/heartbeat empty output, phantom workflow paths, channel/Webhook issues versus install/upgrade problems. You get a triage table, five ordered steps (doctor, models status, logs), and guidance on when not to reinstall. Cross-read common errors, sessions_spawn, and webhooks to cover most silent tickets.
In this guide
1. Why "no reply" is not always a dead gateway
The path is long: channel ingress → gateway → model → tools/workflows → channel egress. Any hop can yield no stack trace and no visible text, which users call "no reply." That differs from install-time failures with clear exit codes. This article assumes you can reach the admin plane; if 18789 is still blocked, return to first deploy and firewall.
- Thinking mode and heartbeat jobs: Some models stay inside "thinking" for scheduled jobs and end with empty deliverable text, so channels have nothing to send. A common mitigation is disabling thinking or capping reasoning budget on Cron/heartbeat paths. If chat works but schedules never speak, check this before reinstalling packages.
- Phantom workflow files: Models may reference non-existent files like
WORKFLOW_AUTO.md. If automation tries to read them, you get silent no-ops. Fix with real repo files and prompt constraints, plus cwd and sandbox alignment. - Channel delivery: Gateway logs "handled" while Telegram/Slack shows nothing due to 429s, bad Webhook URLs, or muted bots—model-agnostic but often blamed on OpenClaw. Use curl probes and launchd env.
False silences also come from clients collapsing long messages or stale UI caches while the server returned 200—correlate logs with HTTP status and correlation IDs. Queues: duplicate Webhooks or dedup rules can drop jobs quietly; enable queue-depth debug logging and verify token and rate limits.
2. Symptom matrix
| What you see | Suspect layer | Verify first | Usually not first |
|---|---|---|---|
| Everything silent, doctor yellow | Provider keys / routing | openclaw models status, minimal chat turn | Port 18789 if HTTP health OK |
| Only Cron/heartbeat silent | thinking config / timeouts | Disable thinking on schedule path; log duration | Full reinstall |
| Logs OK, IM empty | Channel token / Webhook / 429 | curl Webhook, bot permissions | Model temperature |
| Sometimes empty after "success" | cwd, sandbox, phantom paths | Minimal script, fixed cwd | Random hardware |
| After upgrade | Config migration | Upgrade notes and OPENCLAW_* diff | Disk failure |
Prefix tickets with one matrix row (e.g. "Cron-only + thinking suspect") to shorten handoffs. Note which channel reproduces when you run many IM integrations.
3. Five-step diagnostic path
- Baseline:
openclaw doctorandopenclaw health --jsonif available; align Node major with quick deploy docs. - Models:
openclaw models status; A/B with a known-good model on silent tasks. - Logs:
openclaw logs --follow; trace inbound event to outbound send. If inference stops with no send, revisit thinking/heartbeat. - Channel probe: smallest echo through the same channel; failures often mean env vars missing from launchd (not inherited from
.zshrc). - Minimal config: staging with one channel, one model, tools off; merge deltas instead of nuking the install.
Add a timebox to runbooks: first 15 minutes only channel probe + models status; avoid changing three unrelated knobs at once. Only then consider rollback or clean-dir reinstall with tarball evidence.
4. Knobs, timeouts, and ops notes
Heartbeat agents: disable thinking or cap steps for short cadence jobs (key names vary by version—diff after upgrades). Match client, model, and channel timeouts; log backoff for 429/5xx or the UI stays quiet. Watch disk and log rotation—full volumes mimic silence. NTP skew can cause intermittent JWT/Webhook 401s; check time on Mac cloud nodes. Some channels truncate Unicode or large payloads; compare raw outbound logs. Avoid printing full secrets in logs; use short-lived read-only tokens for triage.
5. From reinstall loops to a reproducible Mac cloud agent base
Reinstalling globally on every silence hides real causes—especially when laptops and cloud nodes diverge on keys and plist env.
Prefer a written layered matrix and five-step playbook. For long-running multi-channel automation, renting VPSMAC M4 Mac cloud with a silent-failure checklist in the handover usually beats cycling containers: unified logs, clear service user, native macOS next to Apple toolchains.
6. FAQ
Cron silent but chat works?
Check thinking/heartbeat settings and scheduled user env, then timeouts and channel-side drops.
No errors in logs—success?
Not until you see outbound delivery or channel ACK.
When to reinstall?
When doctor shows corrupted install, Node ABI mismatch, or upstream requires clean dir—otherwise triage first.
How does this relate to the common-errors article?
Use common errors for install/port/TLS; this article covers weak-signal silence.