> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended**:
> ```bash
> npx @scalekit-inc/cli setup
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for other Agent Skills-compatible agents.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Environments and regions

Use Development and Production environments in AgentKit: create Production, choose the US or EU region, find each environment URL and switch between them.
An environment is an isolated copy of AgentKit: its own connections, connected accounts, API credentials, settings and logs. You build in a Development environment, then create a Production environment for real users. This page covers both, how regions work, and how to move between environments.

## What you get at signup

Signing up creates a workspace with one **Development** environment. Development is free and meant for building and testing.

Every new environment, Development or Production, starts with:

- A GitHub connection named `github-connect`, which uses Scalekit's OAuth app, so you can make a tool call before you configure anything. The [Quickstart](/agentkit/quickstart/) uses it.
- A client ID. Generate a client secret yourself, as shown in [API credentials](/agentkit/api-credentials/).

Environments don't share anything. A connection, a connected account or a client secret in Development doesn't exist in Production, so you set up Production's connections again and each user connects again there.

## Development and Production

| | Development | Production |
| --- | --- | --- |
| Environment URL | `https://<name>.scalekit.dev` | `https://<name>.scalekit.com` |
| Billing | Always free | Billed on its own plan. See [Billing](/agentkit/billing/) |
| Client IDs | Start with `skc_` | Start with `prd_` |
| User verification | All modes, including **Scalekit users only** for testing | **Custom user verifier** or **None** |
| Custom domain | Not available | Available on paid plans. See [Custom domain](/agentkit/advanced/custom-domain/) |
| Quickstart in the dashboard | Shown | Hidden |

In the EU region, environment URLs end in `.eu.scalekit.dev` and `.eu.scalekit.com`.

## Choose a region

Scalekit runs separate US and EU regions with no shared data. Choose the region on the signup page, with **Change Region**, before you create your account. Your workspace and all its environments stay in that region, and you can't move a workspace between regions later. To use both, create a workspace in each.

EU data residency is an add-on to your plan. When you create an environment in an EU workspace, the dashboard asks you to confirm it. See [Where data is hosted](/agentkit/security/#where-data-is-hosted).

## Create a Production environment

1. ### Enable Production

   Open the environment switcher at the top left of the dashboard, next to your workspace name, and select **Enable Production**. Enter a card in the **Enable Production** form. When it's saved, the dashboard shows **Production enabled** and opens **Manage Environments**.

   Only Admins can add a payment method. See [Team members and roles](/agentkit/team-members/).

2. ### Create the environment

   Select **Create Environment**, enter a **Name**, choose **Production** as the environment type, and select **Create**.

   You can't change an environment's type after you create it.

3. ### Set it up for real users

   In the new environment:

   - Generate a client secret and load the new environment URL, client ID and secret into your production configuration. See [API credentials](/agentkit/api-credentials/).
   - Create your connections. For your own branding on consent screens, use [your own OAuth app](/agentkit/advanced/bring-your-own-oauth/).
   - Set **AgentKit** > **Settings** > **User Verification** to **Custom user verifier**. See [Verify users](/agentkit/user-verification/).

A new Production environment starts on the Free plan. Change it in **Billing**. See [Billing](/agentkit/billing/).

## Switch environments

The environment switcher at the top left shows the current environment. Select it to pick another environment. Everything in the dashboard, including the **AgentKit** pages, then shows that environment.

To see every environment or rename one, select **Manage Environments** in the switcher, or open **Workspace** > **Environments**. To delete an environment, contact [support](mailto:support@scalekit.com).

## Check it worked

Your code talks to the environment whose URL and credentials it uses. Call the API with the Production values, for example with the [Quickstart](/agentkit/quickstart/), and check that the connected account appears in **AgentKit** > **Connected Accounts** with Production selected in the switcher.

## Common problems

### Production is locked with "Requires a payment method"

The workspace has no payment method yet. Select **Enable Production** in the environment switcher and add a card, or ask an Admin to.

### A connected account exists in Development but not in Production

Environments share nothing. Create the connection in Production and have the user authorize again there.

### My code reaches the wrong environment

The environment URL, client ID and client secret must all come from the same environment. A secret from Development fails against a Production URL.

## Next

  - [API credentials](/agentkit/api-credentials/): Get the environment URL, client ID and a client secret for your code.
  - [Launch checklist](/agentkit/advanced/launch-checklist/): Everything to check before real users connect.


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
