If importing @knocklabs/node breaks your build with jose-related errors, upgrade to the 1.x SDK: it removed the jose dependency that conflicted with newer jose versions in the same bundle. On 1.x, import signing helpers from the tokenSigner module path. Do not pin an old SDK to work around the conflict; the dependency that caused it is gone in the current release.

Context: GitHub issue knocklabs/knock-node#80 (resolved): Merely importing @knocklabs/node broke builds wherever the app also used jose at 5.9.6, because Knock pinned jose at 5.2.0 and its compiled output confused ESM bundlers. The thread's resolution is that the 1.x SDK release dropped the jose dependency entirely, and edge-runtime import issues were fixed via PR #101; on the latest version, importing signUserToken from the tokenSigner module path produces no errors or warnings.