FAQ and Troubleshooting#
This page collects the most common runtime issues and quick fixes.
I cannot send via dashboard#
Symptom:
POST /api/sendreturns409.
Cause:
WhatsApp session is not connected yet.
Fix:
Call
POST /api/connect.Open
GET /api/qrand scan QR from Linked Devices.Confirm
GET /api/connectionreportsconnected.
I get invalid WA ID errors#
Symptom:
POST /api/sendreturns400with invalid ID message.
Cause:
tois not a valid WhatsApp number format.
Fix:
Use digits only, optional leading
+.Optional
@s.whatsapp.netsuffix is accepted.Avoid dashes/spaces/letters.
QR is not shown#
Checklist:
Ensure runtime state is
connectingafter/api/connect.Check
GET /api/qroutput.Use
GET /api/debug/summaryto inspect events and state transitions.
Disconnect conflict code 440#
Symptom:
Session disconnects with conflict behavior (often code
440).
Cause:
Another active linked session is competing.
Fix:
Keep only one active linked session for testing.
Reconnect and scan QR again if required.
Ack timeout on live send test#
Symptom:
examples/live_connect.pyreports send-ack timeout.
Fix:
Verify destination JID is correct.
Increase timeout (
WATON_ACK_TIMEOUT).Check incoming event logs and network stability.
Editable install fails on Windows (os error 32)#
Symptom:
failed to copy ... waton\_crypto.pydos error 32
Cause:
Another running Python process is locking
_crypto.pyd.
Fix:
Stop running Waton scripts and retry installation.
See the README Windows troubleshooting section for PowerShell command.
Docs build fails#
Use strict local build to catch issues:
python -m pip install .[docs]
python -m sphinx -W --keep-going -b html docs/source docs/build/html
Useful verification commands#
python -m pytest tests/unit/test_dashboard.py -q
python -m pytest tests/unit/test_messages.py -q
python -m pytest tests/unit/test_client.py -q
python -m pytest tests/unit/test_app.py -q