Skip to content

zod 4 compatibility with clerk-js/clerk-expo #6674

@gorbypark

Description

@gorbypark

Preliminary Checks

Reproduction

.

Publishable key

.

Description

Steps to reproduce:

  1. Install zod 4
  2. See type errors

Expected behavior:

Clerk should not dictate which version of zod can be used in a project because of some deeply nested dependency on Etherium type checking packages.

Actual behavior:

Apparently Clerk has some crypto wallet features that depend on zod 3.x (abitype, viem). I would like to use zod 4 in my project and not resort to package.json resolutions for features not used / even know about by 99.9% of developers who just want the nice authentication features of Clerk.

error "abitype#zod@^3 >=3.22.0" doesn't satisfy found match of "[email protected]"
error "viem#abitype#zod@^3 >=3.22.0" doesn't satisfy found match of "[email protected]"
error "viem#ox#abitype#zod@^3 >=3.22.0" doesn't satisfy found match of "[email protected]"
error Found 3 errors.

Notes:
This is using the clerk/clerk-expo package, which I assume is pulling in clerk/clerk-js, which in turn is pulling in the Etherium related packages.

Environment

System:
    OS: macOS 15.4.1
    CPU: (8) arm64 Apple M2
    Memory: 63.81 MB / 24.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 22.18.0 - /opt/homebrew/opt/node@22/bin/node
    Yarn: 1.22.22 - /opt/homebrew/bin/yarn
    npm: 10.9.3 - /opt/homebrew/opt/node@22/bin/npm
    pnpm: 10.14.0 - /opt/homebrew/bin/pnpm
    Watchman: 2025.08.04.00 - /opt/homebrew/bin/watchman
  Browsers:
    Chrome: 139.0.7258.155
    Edge: 139.0.3405.125
    Safari: 18.4

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions