Contents

Help

Troubleshooting

Use the bridge logs to identify the failed path. These examples preserve the real log prefixes and message text.

Gate and usage limits

Log lineMeaning and next step
[gate] DROP (fail-closed): <error>The JEV gate call failed, so the draft was not sent. Check the configured gate endpoint and restore the gate service.
[metering] <channel> over <reason> — bridge silent for this channelA usage limit was reached. Review the configured plan and limits; billing notices and plan limits are described in the billing guide.

Tokens and dashboard access

Log lineMeaning and next step
[twitch-auth] ERROR: <error> — chat stops when the current token expires; run `bridge -setup` (Twitch device login) againThe refresh token was rejected. Run bridge -setup again to obtain a new token pair. A tenant's prefix is [<tenant>/twitch-auth].
[dashboard] failed login from <address>The dashboard token was not accepted. Issue a named token with -issue-token and use the newly printed value.
[sqlite] <file> is corrupted (<error>) — moved to <file>, starting emptyThe damaged database was moved aside and a new empty file started. Keep the renamed file for inspection.
[tenant <id>] skipped: <error>That tenant's config could not be loaded. Fix its config or environment references; other valid tenants can continue.

Platform and webhook logs

Log lineMeaning and next step
[discord] channel <id> rate limited, dropping replyThe channel was rate limited and this reply was dropped. Check the channel's reply volume before retrying.
[kick] read-only, not posted: <text>No Kick posting token is configured. Add a token with chat:write and the broadcaster user ID to enable posting.
[eventsub] rejected from <address>: <error>EventSub verification failed. Check the public HTTPS callback, shared secret, signature, timestamp, and replay state.
[billing] webhook rejected from <address>: <error>Billing signature verification failed. Check BILLING_WEBHOOK_SECRET and the Stream-Mate-Signature format.

Docker status and image access

MessageMeaning and next step
unhealthy or restartingInspect docker compose logs. A missing JEV_ENDPOINT, TTS key, or broken persona can prevent startup.
pull access deniedThe registry image is private. Log in with a read_registry token or build locally and set STREAM_MATE_IMAGE to that local image.

See the self-hosting guide for Docker health checks and logs.