
Using OpenClaw for automation—the real headache isn’t configuration, it’s when things mysteriously stop working mid-run. This post covers the failures I’ve hit and their fixes.
Gateway Issues
Gateway Service Won’t Start
Symptoms: Telegram messages go unanswered, AI assistant doesn’t reply.
Check:
openclaw gateway status
Common Causes & Solutions:
| Cause | Solution |
|---|---|
| Process crashed | openclaw gateway restart |
| Bot Token expired | Get a fresh token from BotFather, update config |
| Port conflict | Use lsof -i :port to find what’s using it, kill it |
| Windows won’t auto-start on boot | Add to Task Scheduler for startup |
Windows Caveat: On Windows, Gateway doesn’t auto-start with the system. After each reboot, you need to manually launch it:
openclaw gateway start
I’d recommend setting it up as a Task Scheduler startup task.
Gateway Disconnects After a Few Hours
Symptoms: Works fine at first, then Telegram stops responding again after a while.
Cause: Telegram’s long-polling connection times out, and Gateway doesn’t auto-reconnect.
Solution: Use cron or systemd to keep it alive:
# Linux - systemd service
# /etc/systemd/system/openclaw-gateway.service
[Unit]
Description=OpenClaw Gateway
After=network.target
[Service]
User=as
ExecStart=/usr/local/bin/openclaw gateway start
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl enable openclaw-gateway
sudo systemctl start openclaw-gateway
Message Delivery Issues
openclaw message send Has No Response
Troubleshooting steps:
Confirm openclaw is executable:
which openclaw # Check path openclaw --versionTest sending manually:
openclaw message send --channel telegram --target your_user_id --message "test"Check openclaw logs:
tail -f ~/.openclaw/logs/openclaw.logPATH issues in cron: Cron’s environment has a minimal PATH, so openclaw might not be found. Fix:
# Add full PATH at the top of your cron file PATH=/usr/local/bin:/usr/bin:/bin:/home/as/.npm-global/binOr use absolute paths:
/home/as/.npm-global/bin/openclaw message send ...
Message Sent But Images (PDFs) Don’t Arrive
Cause: The --media path is wrong or the file doesn’t exist.
Check:
ls -la /path/to/your/report.pdf
# Confirm file exists and is readable
Note: Paths must be absolute—never use ~ or relative paths (cron doesn’t expand ~).
Telegram Bot Privacy Mode Issues
Symptoms: Bot doesn’t receive regular messages in groups (only /commands).
Cause: Telegram bots have privacy mode enabled by default, only accepting messages starting with /.
Solution: Go to BotFather → Your Bot → Bot Settings → Group Privacy → Disable.
Once disabled, the bot can receive regular group messages, and OpenClaw can respond to group mentions.
Skill Issues
Skill Installation Fails on Invoke
Symptoms: Installed the github Skill, asked Claude to check an Issue, Claude says “I can’t access GitHub”.
Cause: Skills need API token configuration after installation.
openclaw skill config github
# Follow the prompts to enter your GitHub Personal Access Token
Each Skill has its own config requirements—run openclaw skill config <name> after installing to set it up.
obsidian Skill Can’t Find Files
Problem: Asked Claude to read my Obsidian notes, says it can’t find them.
Cause: The obsidian Skill needs your vault path configured.
openclaw skill config obsidian
# vault_path: ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/your_vault_name
On macOS, iCloud-synced Obsidian vaults have long paths that need to be verified.
Quant Scripts
matplotlib Errors on Servers
Symptoms:
_tkinter.TclError: no display name and no $DISPLAY environment variable
Cause: The server has no GUI; matplotlib defaults to the Tk backend.
Solution: Add this at the top of your script:
import os
os.environ["MPLBACKEND"] = "Agg"
import matplotlib
matplotlib.use("Agg")
Or add MPLBACKEND=Agg to your cron environment.
Chinese Characters Show as Boxes in PDFs (Garbled Text)
Symptoms: Generated PDFs show Chinese characters as boxes.
Cause: The server doesn’t have Chinese fonts.
Solution:
sudo apt-get install -y fonts-noto-cjk
# Restart processes after installation
When reportlab generates PDFs, it needs the font file path. Verify the font location:
fc-list | grep -i noto
yfinance Data Pull Timeouts
Symptoms: Strategy script hangs, logs show timeout or Connection reset.
Cause: yfinance connection to Yahoo Finance servers is unstable (network issues from your VPS location).
Solution:
Add retry logic:
for attempt in range(3): df = yf.download(symbol, ...) if not df.empty: break time.sleep(5)Use proxy nodes (route VPS traffic through a proxy server—see my proxy architecture post)
If a symbol fails repeatedly, temporarily remove it from ASSETS to avoid blocking other symbols.
Log Analysis
Get in the habit of checking logs—most issues are visible there:
# Watch strategy logs in real-time
tail -f ~/.openclaw/workspace/.openclaw/signal_monitor.log
# Check the last 50 error lines
grep -i "error\|exception\|failed" ~/.openclaw/workspace/.openclaw/signal_monitor.log | tail -50
# Check openclaw's own logs
tail -f ~/.openclaw/logs/openclaw.log
For issues I haven’t covered, hit me up on Telegram and we’ll debug it together.
📷 Cover image · Generated with Flux Schnell AI · panshi.io brand style