Skip to main content

Clerk Changelog

SAML custom attributes can now map every value an identity provider sends into an array on publicMetadata, instead of keeping only the first.

SAML custom attributes can now be mapped as multi-valued. When an identity provider sends an attribute with more than one value (common for groups or roles in Okta and Microsoft Entra ID), Clerk writes every value to the user's publicMetadata as an array. Previously, only the first value was kept.

Enable multi-value attributes

Open an enterprise connection in the Clerk Dashboard, edit a SAML custom attribute, and turn on Allow multiple values. Matching values are written to publicMetadata always as an array []. If the provider doesn't send the attribute at all, the key isn't written.

The same control is available on the Backend API as a multi_valued field on each custom attribute.

Compatibility

Multi-value mapping is off by default. Existing custom attributes are unchanged and continue to map the first value. No migration or reconfiguration is required.

Refer to the Multi-valued attributes documentation for setup details and how the setting interacts with SCIM.

Contributors
Nicolas Lopes
Gabriel Melo

Share this article

clerk deploy: guided, resumable, agent-ready

Category
Product
Published

clerk deploy takes your application live with a single command, cloning your development instance to production and walking you through DNS and OAuth setup.

When we released the CLI, we said we were hard at work on deploy. It's ready for you to use today: clerk deploy is now available in the Clerk CLI, taking your application from development to production with a single command.

A clerk deploy session showing the plan and production domain prompt

Run clerk deploy from a linked project and the CLI walks you through everything production needs:

  • Production instance: Creates a production instance from your development configuration and prompts for your production domain

  • DNS records: Displays the CNAME records to add at your DNS provider, and can export them as a DNS zone file you can import at any compatible provider

  • OAuth credentials: Detects the social connections enabled in development and prompts for production Google and Apple credentials, including importing a Google Cloud Console JSON file or pointing at your Apple .p8 key. Other providers are flagged for setup in the Clerk Dashboard

  • Verification: Checks DNS, SSL, and email DNS in one loop and reports exactly what's still pending

Built for agents

In a non-TTY context, or with --mode agent, clerk deploy emits a read-only JSON handoff describing the current deploy state instead of prompting.

clerk deploy status --mode agent

Get started

Update to the latest CLI, link your project if you haven't already, and deploy:

clerk update
clerk link
clerk deploy

Read the full documentation for all commands and options.

Contributors
Rafael Thayto
Wyatt Johnson

Share this article

Configure per-seat pricing in your organization billing plans

Starting today, you can create Plans with per-seat pricing in Clerk Billing, allowing you to charge Organizations based on the number of members using your product.

As your customers get larger, they're getting more value out of your product. A five-person team shouldn't necessarily pay the same amount as a fifty-person team. Per-seat pricing makes it easy to align subscription costs with organization size, allowing pricing to scale naturally as organizations grow.

For example, you might create a Plan with a $12 monthly charge per member. Smaller organizations pay less, while larger organizations are charged proportionally to their team size.

Per-seat pricing is deeply integrated with Clerk Organizations, allowing you to monetize Organization growth without building custom billing or seat management workflows.

Billing that grows with Organizations

When Organizations add new members, Clerk automatically handles seat provisioning behind the scenes. If an Organization exceeds its available seats when adding members, Clerk guides them through a checkout flow to purchase additional seats, ensuring billing stays aligned with membership. Additional seats purchased during an active billing period are prorated automatically, ensuring organizations only pay for the time those seats are in use.

At the beginning of each billing period, Clerk automatically adjusts the subscription's seat quantity to match the Organization's current membership count. This ensures billing remains aligned with the provisioned members over time and prevents organizations from paying indefinitely for unfilled seats.

Per-seat pricing can be combined with seat limits, allowing you to both charge per member and enforce a maximum Organization size.

Per-seat pricing can also be combined with a fee for the Plan itself, a "base fee", to charge a minimum fee for access to the Plan's features. You can even set an "included" number of seats that come with the base fee; Organizations will only be charged per seat after these included seats are used.

For example, a Plan can have:

  • A $20 per month base fee
  • An $8 per month per-seat fee
  • 2 included seats
  • A limit of 10 seats on the Plan
Organization sizeCostBreakdown
1$20$20 for the base fee, no seats over the 2 included
3$28$20 for the base fee, two seats included, $8 for the 1 additional seat
10$84$20 for the base fee, two seats included, $64 for the 8 additional seats

An Organization on this Plan would not be able to invite an eleventh member without changing their Plan, and would be prompted to do so when they go to invite the member.

A more capable Clerk Billing

When we launched Clerk Billing a year ago, we only supported flat fee pricing for Plans. With the recent launch of seat limits and now per-seat pricing, we hope Clerk Billing can offer a compelling experience for businesses that use a seat-based pricing model.

We're not done with Clerk Billing yet, and are continuously striving to offer more and more powerful tools to let you build the pricing model that will most accurately capture your product's value. We have a lot we're working on, and we can't wait to share it with you.

Get started with seat-based billing

  • Navigate to the New Organization plan page in the Clerk Dashboard.
  • Toggle on the Seat-based section.
  • If you'd like to set a limit, select Custom limit and enter the desired value. (You need the B2B Authentication add-on to set a limit greater than 20.)
  • If you'd like the Plan to allow an unlimited number of seats, select Unlimited members. (You need to have the B2B Authentication add-on to select this option.)
  • Toggle on the Per-seat fee section.
  • Enter the price per seat in the Cost per member seat monthly section.
  • If you'd like to include free seats in the plan, enter the desired value in the Included seats section.

You can learn more about seat-based billing in the docs.

Contributors
Lamone Armstrong
Mary Zhong
Maurício Antunes
Dylan Staley
George Vanjek
Paddy Carver
Keiran Flanigan

Share this article

Clerk's native mobile SDKs now include prebuilt Organization management UI for iOS and Android. These views cover account switching and Organization settings.

The OrganizationSwitcherSheet showing Organization account switching options.
The OrganizationProfileView showing profile details, members, verified domains, and Organization actions.

What's new

  • OrganizationSwitcher renders the active Organization or personal account, then opens native controls for switching accounts, accepting invitations and suggestions, creating Organizations, and managing the active Organization.
  • OrganizationListView provides a standalone account picker for selecting a personal account or Organization, including memberships, invitations, suggestions, and Organization creation when available.
  • OrganizationProfileView renders permission-gated Organization management for profile details, members, invitations, requests, verified domains, leaving Organizations, and deleting Organizations.
Contributors
Sam Wolfand
Sean Perez

Share this article

Email Logs public beta

Category
Product
Published

Inspect transactional email delivery events from the Clerk Dashboard.

Email Logs are now available in public beta for production instances. The new Email Logs page in the Clerk Dashboard gives you a reverse-chronological view of transactional email delivery events, so you can debug delivery issues without leaving the Dashboard.

Use Email Logs to understand what happened to an email after Clerk sent it, including whether the receiving mail service accepted it, whether delivery was delayed or failed, and whether the user opened or clicked it. You can filter logs by recipient email address, IP address, message ID, time range, and event type.

Select any log entry to view its details, including delivery status, response or bounce reason, related metadata, and the original provider payload when available.

Get started

Open Email Logs from the Logs section of the Clerk Dashboard. For workspaces using custom roles and permissions, grant the Email logs read permission to the roles that should have access.

Contributor
Jeff Escalante

Share this article

Largest organizations report

Category
Dashboard
Published

View your largest organizations by member count to understand how usage is distributed across your userbase, spot outliers, and track account growth.

The Orgs tab of your Overview page now includes a report stack ranking the largest organizations in your instance by current member count.

  • Top organizations at a glance: See your biggest orgs in descending order with member counts, and a link to each organization's detail page.
  • Visual size comparison: Each org is rendered as a bar scaled to its member count, making it easy to see how your top orgs stack up against each other.
  • Spot outliers and growth: See how usage is distributed across your tenants and catch unusual growth patterns.

Open the Clerk Dashboard and head to the Overview page to view your largest organizations.

Available now for all instances with organizations enabled.

Contributors
Josh Rowley
Nate Watkin
Andrew Tam

Share this article