troubleshootlisted
Install: claude install-skill twindebank/tclaw
Diagnose common tclaw issues. Run checks in order, stop at the first problem found, explain what's wrong and how to fix it.
## 1. Prerequisites
```bash
go version # need 1.26+
node --version # need 22+
claude --version # need claude CLI
which tclaw # installed?
```
Report any missing with install instructions.
## 2. Config
Check `tclaw.yaml` exists and is valid:
```bash
test -f tclaw.yaml && echo "exists" || echo "MISSING"
head -30 tclaw.yaml
```
Common config issues:
- Missing `tclaw.yaml` → run `tclaw init`
- No channels defined → need at least one channel
- Secret references (`${secret:NAME}`) that can't be resolved → run `tclaw secret set NAME value`
- Invalid YAML syntax
## 3. Local server
```bash
# Is the server running?
pgrep -f "tclaw.*serve" || echo "NOT RUNNING"
# Is the port in use?
lsof -i :9876 2>/dev/null || echo "port 9876 free"
# Check for socket file (if socket channel configured)
ls /tmp/tclaw/*/main.sock 2>/dev/null || echo "no socket files"
```
## 4. Authentication
```bash
# Check if Claude OAuth token exists
tclaw secret get CLAUDE_OAUTH_TOKEN 2>/dev/null && echo "OAuth token found" || echo "no OAuth token"
# Check if API key exists
tclaw secret get ANTHROPIC_API_KEY 2>/dev/null && echo "API key found" || echo "no API key"
```
If neither exists, the agent will prompt on first message — but explain this so the user isn't confused.
## 5. Recent logs
If the server is running or was recently running:
```bash
# Check for cras