Groups API
Group organization memberships together using the new Groups API.
Recent changes
Group organization memberships together using the new Groups API.
Custom roles can now be scoped to specific resource types like workspaces or projects.
New API endpoints support allowing users to change their own email address with built in verification and fallback.
New predefined attributes — display_name, employee_number, organization, phone_numbers, manager_name, and manager_id are available from directories.
You can now edit user and organization metadata, including external ID, from the dashboard.
Widgets can automatically translate text in your users’ preferred language, with support for 90 languages out of the box.
0.20.0 (2026-03-24) Features support multi-app cookies and scoped storage keys (#114) (c85b7ca)
Decode, verify, and inspect JWTs directly in your browser
Inspect and work with the WorkOS API through the OpenAPI specification.
Widget Skills let AI coding agents generate app-native implementations of WorkOS-powered workflows.
Pipes MCP is a deployable MCP server that gives agents time-limited access to third party data connections.
Turn your agent into a WorkOS expert with six new capabilities.
See how users are using your app with AuthKit Analytics.
What's Changed Stop unnecessarily setting screen_hint=sign-in by @cmatheson in #107 Clear session organization on sign out or refresh error by @nholden in #110 Full Changelog: v0.18.0...v0.19.0
What's Changed fix: handle signOut() when no session exists by @nicknisi in #104 v0.18.0 by @nicknisi in #106 Full Changelog: v0.17.0...v0.18.0
What's Changed feat: enable npm Trusted Publishers by @nicknisi in #101 Add authentication method to response interfaces and serializer by @ohjonah in #99 New Contributors @ohjonah made their first contribution in #99 Full Changelog: v0.16…
What's Changed Revert emitting custom event with access token by @chaance in #96 Full Changelog: v0.15.0...v0.16.0
What's Changed Emit custom event when token is refreshed by @chaance in #51 New Contributors @chaance made their first contribution in #51 Full Changelog: v0.14.0...v0.15.0
What's Changed Add roles to JWT payload by @atainter in #93 v0.14.0 by @atainter in #94 New Contributors @atainter made their first contribution in #93 Full Changelog: v0.13.0...v0.14.0
What's Changed Add feature_flags claim on jwt interface by @kkajla12 in #89 Full Changelog: v0.12.0...v0.13.0
What's Changed Add support for custom claims in getClaims function by @nicknisi in #87 Full Changelog: v0.11.0...v0.12.0
What's Changed Remove 'impersonation coming soon' error message by @nholden in #80 Deprecate context option on getAuthorizationUrl and signIn by @nholden in #83 Add forceRefresh option to getAccessToken method by @nicknisi in #85 Improve c…