Per-bot numeric IDs (privacy feature) broke sendMessage because the reverse lookup couldn't find the fingerprint from the per-bot hash. Fix: store numid:<numeric_id> → fingerprint in tokens tree when generating updates. resolve_chat_id checks this mapping first. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>