> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # warnings$ > Observable stream of non-fatal SDK warnings. ```ts get warnings$(): Observable ``` Observable stream of non-fatal SDK warnings. Subscribe to detect SDK behaviors that affect session liveness or developer-facing contracts but do not warrant disconnection — for example, a fallback from Client Bound SAT refresh to the developer-provided `refresh()` because the SAT lacks `sat:refresh` scope. Each warning is discriminated by its `code`. See [`SDKWarning`](/docs/browser-sdk/v4/reference/type-aliases/sdk-warning). Independent from [`errors$`](/docs/browser-sdk/v4/reference/signalwire/errors\$): existing error consumers are not notified, so reacting to a warning does not trigger error-handling code paths (disconnect cascades, user-facing toasts). ## **Examples** ```ts client.warnings$.subscribe((warning) => { switch (warning.code) { case 'credential_refresh_fallback': console.warn('Fell back to developer refresh:', warning.reason); break; case 'credential_no_refresh_handler': console.warn('Session will end at', new Date(warning.expiresAt)); break; } }); ``` > Observable stream of non-fatal SDK warnings.