Understand the differences between staging and production environments, when to use each, and how to go live.
WorkOS provides two separate environments – staging and production – so you can build and test your integration before going live. This guide explains the differences between them, when to use each, and how to transition from staging to production.
Every WorkOS workspace includes a staging environment and a production environment. These are fully separate: API keys, organizations, connections, users, and webhook endpoints are all scoped to a single environment and don’t carry over between them.
One notable exception is AuthKit branding. Logo, colors, and custom theme settings are shared across environments, so any branding you configure in Branding will appear in both staging and production.
Use the staging environment when you’re:
Staging is free. No connections in staging incur charges, regardless of type.
Use the production environment when you’re:
Production requires adding billing information in the WorkOS Dashboard. Enterprise connections (such as SAML-based Single Sign-On or SCIM-based Directory Sync) in production incur per-connection charges. AuthKit is free for up to 1 million monthly active users (MAUs), after which usage-based pricing applies. OAuth connections and all staging connections are free.
| Feature | Staging | Production |
|---|---|---|
| Redirect URIs | Allows http:// and localhost for local development | Requires https:// for web apps; http://127.0.0.1 is still allowed for native clients |
| API keys | Reviewable in the dashboard | Shown once at creation – store securely |
| Custom domains | Uses WorkOS domains | Can use custom domains |
| Billing | No charges | Enterprise connections incur charges; AuthKit free up to 1M MAUs |
| Test identity provider | Built-in test IdP available | No test IdP – use real connections |
| Rate limits | Same as production | Same as staging |
| Branding | Shared with production | Shared with staging |
Staging and production are separate environments. Apart from branding, nothing carries over automatically. When you switch to production, you’ll need to set up the following:
Every integration should do the following:
https://. See Redirect URI requirements.If you’re using enterprise features like SSO or Directory Sync, you’ll also need to:
For the full Single Sign-On launch checklist, see the SSO launch checklist.
No. Both environments are included in a single WorkOS workspace.
Yes. Every workspace starts with a staging and production environment, but you can add more. Additional environment creation may be available directly in your dashboard settings. If you don’t see the option, contact support to have one created.
Not currently. Staging and production are fully isolated, and there isn’t a built-in way to promote or migrate organizations, connections, or users between them today. When you’re ready to go live, you’ll need to recreate your organizations and connections in the production environment. Your end users will re-authenticate through AuthKit, which creates their accounts in production automatically.
Not self-serve. If you’ve accidentally been serving live traffic from a staging environment, contact support for assistance. To avoid this situation, keep staging for development and testing only – staging environments are not intended for customer-facing traffic per the Terms of Service.
Almost everything works identically across both environments. The main differences are:
Yes. You can safely configure real OAuth provider credentials (Google, Microsoft, GitHub, etc.) in your staging environment for testing. Staging environments are fully functional and secure – the only limitations are the production-only features listed above.
No. Environments are tied to a specific workspace and can’t be transferred.