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 line | Meaning 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 channel | A 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 line | Meaning and next step |
|---|
[twitch-auth] ERROR: <error> — chat stops when the current token expires; run `bridge -setup` (Twitch device login) again | The 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 empty | The 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. |
| Log line | Meaning and next step |
|---|
[discord] channel <id> rate limited, dropping reply | The 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#
| Message | Meaning and next step |
|---|
unhealthy or restarting | Inspect docker compose logs. A missing JEV_ENDPOINT, TTS key, or broken persona can prevent startup. |
pull access denied | The 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.