Troubleshooting FAQ
This is the “get unstuck fast” guide built from real implementation issues across wallet + wardrobe flows. No secrets, no internals you shouldn’t see — just practical fixes.
Most common issues
1) “Auth expired” on Coinbase wallet commands
Re-auth with OTP, then verify status.
npx awal auth login [email protected]
npx awal auth verify <flowId> <otp>
npx awal status --json
2) AgentWardrobe returns 401/403 unauthorized
Your API key is missing/invalid or not being read from credentials.
node skills/agentwardrobe/agentwardrobe-setup.js
# then test
node skills/agentwardrobe/agentwardrobe-cli.js wardrobe
Confirm credential file exists at ~/.openclaw/credentials/agentwardrobe.json.
3) Quote works, purchase fails with quote expired
Quotes are short-lived. Regenerate quote and purchase quickly after approval.
node skills/agentwardrobe/agentwardrobe-cli.js quote <itemId>
node skills/agentwardrobe/agentwardrobe-cli.js buy <quoteId>
4) Purchase fails with insufficient funds
Check USDC balance and wallet chain, then retry with smaller amount or fund wallet.
npx awal balance --json
npx awal status --json
5) Agent keeps suggesting duplicates
Prompt it to check wardrobe first and enforce no-duplicate rule before quote/purchase.
Use current wardrobe first.
Avoid duplicates.
Show top 3 options, then wait for approval before buying.
6) Current outfit appears empty or wrong
Run wardrobe + outfit checks, then re-apply wear/remove actions for drifted state.
node skills/agentwardrobe/agentwardrobe-cli.js wardrobe
node skills/agentwardrobe/agentwardrobe-cli.js outfit
7) “Command not found” or skill CLI fails
Run from workspace root and use full Node command path shown in docs.
cd ~/.openclaw/workspace
node skills/agentwardrobe/agentwardrobe-cli.js stores
node skills/coinbase-wallet/coinbase-wallet-cli.js status
8) Behavior changed after endpoint/domain updates
This has happened before. Verify your skill is pointed to the current production API URL, not an old local/tunnel address.
9) Should I let the agent auto-buy?
Not initially. Use quote → explicit human approval → purchase. It’s slower by seconds and safer by miles.
10) Minimal smoke test to confirm everything works
# Wallet
npx awal status --json
npx awal balance --json
# Wardrobe public + auth
node skills/agentwardrobe/agentwardrobe-cli.js stores
node skills/agentwardrobe/agentwardrobe-cli.js wardrobe
# Safe transaction path
node skills/agentwardrobe/agentwardrobe-cli.js quote <itemId>
# (approve)
node skills/agentwardrobe/agentwardrobe-cli.js buy <quoteId>
Copy/Paste Diagnostics Script
Run this from your OpenClaw workspace root. It prints PASS/FAIL checks for the most common blockers.
#!/usr/bin/env bash
set -u
echo "== AgentWardrobe Diagnostics =="
pass() { echo "✅ $1"; }
fail() { echo "❌ $1"; }
warn() { echo "⚠️ $1"; }
# 1) Workspace sanity
if [ -d "skills/agentwardrobe" ] && [ -d "skills/coinbase-wallet" ]; then
pass "Skill folders found"
else
fail "Missing skill folders (run from ~/.openclaw/workspace)"
fi
# 2) Coinbase wallet status
if npx awal status --json >/tmp/aw_status.json 2>/tmp/aw_status.err; then
pass "Coinbase wallet status reachable"
if grep -q '"authenticated":true' /tmp/aw_status.json; then
pass "Wallet authenticated"
else
warn "Wallet not authenticated (run: npx awal auth login ... )"
fi
else
fail "awal status failed"
sed -n '1,3p' /tmp/aw_status.err
fi
# 3) Balance check
if npx awal balance --json >/tmp/aw_balance.json 2>/tmp/aw_balance.err; then
pass "Wallet balance command works"
else
fail "Wallet balance check failed"
sed -n '1,3p' /tmp/aw_balance.err
fi
# 4) AgentWardrobe credentials file
if [ -f "$HOME/.openclaw/credentials/agentwardrobe.json" ]; then
pass "Credential file exists"
else
fail "Missing credentials file: ~/.openclaw/credentials/agentwardrobe.json"
warn "Run: node skills/agentwardrobe/agentwardrobe-setup.js"
fi
# 5) Public catalog call
if node skills/agentwardrobe/agentwardrobe-cli.js stores >/tmp/aw_stores.out 2>/tmp/aw_stores.err; then
pass "Public stores endpoint works"
else
fail "Public stores endpoint failed"
sed -n '1,3p' /tmp/aw_stores.err
fi
# 6) Authenticated wardrobe call
if node skills/agentwardrobe/agentwardrobe-cli.js wardrobe >/tmp/aw_wardrobe.out 2>/tmp/aw_wardrobe.err; then
pass "Authenticated wardrobe endpoint works"
else
fail "Wardrobe endpoint failed (likely API key/auth issue)"
sed -n '1,4p' /tmp/aw_wardrobe.err
fi
# 7) Optional: quote smoke test
if [ "${1:-}" = "--with-quote" ] && [ -n "${2:-}" ]; then
ITEM_ID="$2"
echo "Running quote test for item: $ITEM_ID"
if node skills/agentwardrobe/agentwardrobe-cli.js quote "$ITEM_ID" >/tmp/aw_quote.out 2>/tmp/aw_quote.err; then
pass "Quote flow works"
else
fail "Quote flow failed"
sed -n '1,4p' /tmp/aw_quote.err
fi
else
warn "Quote test skipped. Use: bash diag.sh --with-quote <itemId>"
fi
echo "== Diagnostics complete =="