# Switches

A switch turns one part of the embed on or off for your customers. The server enforces it, not only the screen.

There are 28. A part that is off is hidden in the embed and refused by the server: reached anyway, such as through the API or an old link, it answers `403 FEATURE_OFF` with the switch in `details.switch`. Roles still apply: a viewer never builds, whatever is on.

## Three levels

Each level can only turn off what the one above allows. Nothing turns back on what a level above turned off.

- **1 · The installation**: For every customer: **Platform › What customers get**.
- **2 · The account**: For one customer: `turnOff` on [Create or update an account](https://docs.gorunner.io/embed/api/accounts/put-account), kept until you change it.
- **3 · This sign-in**: `turnOff` on [Make a login code](https://docs.gorunner.io/embed/api/sign-in/issue-login-code) applies to that session. The SDK’s `turnOff`, at mount or later, narrows it further. A token can carry its own.

Open pages pick up a change the next time they are used. Your server is strict and your page is forgiving: an unknown id from your server is refused with `400 VALIDATION_ERROR`, every one in `details.unknown`. One from the SDK is dropped and named in the console, so a page written for a newer release never breaks.

## Every switch

| Switch | Default | Off means |
| --- | --- | --- |
| **Pages** |   |   |
| `overview` | Off | **Overview**. No Overview page. On, it is the first tab, and the embed opens on it. Needs **Workflows** or **Runs**: with both off, it is off too. |
| `workflows` | On | **Workflows**. The Workflows page is gone, and nothing can be built, published or deleted. |
| `runs` | On | **Runs**. The Runs page is gone. |
| `connections` | On | **Connections**. The Connections page is gone. |
| `templates` | On | **Templates**. The Templates page is gone: no starting from a template, yours or theirs. |
| `assistant` | On | **Assistant**. No assistant. It is also off until the installation’s assistant works, whatever is set here. |
| `navigation` | On | **Navigation tabs**. No tab row, for an app with its own menu. The pages stay; your page moves between them. |
| `search` | On | **Search**. No ⌘K and no search box on the lists. |
| **Building** |   |   |
| `publish` | On | **Publish**. Nobody can switch a workflow on or off, or publish changes. What is live stays live; your server can turn it off with [Disable a workflow](https://docs.gorunner.io/embed/api/workflows/disable-workflow). |
| `testRuns` | On | **Test runs**. No trying a workflow or one step on test data while building. |
| `codeStep` | On | **Code step**. No new Code steps. Live workflows keep running theirs. |
| `httpStep` | On | **HTTP step**. No new HTTP or GraphQL steps. Live workflows keep running theirs. To stop those, take the apps out of the app list. |
| `subflows` | On | **Sub-flows**. No new calls from one workflow to another. Live workflows keep making theirs. |
| `versions` | On | **Versions**. No earlier versions, and no bringing one back. |
| `variables` | On | **Variables**. No workflow variables. |
| `folders` | On | **Folders**. No folders. |
| `duplicate` | On | **Duplicate**. No copying a workflow. |
| `delete` | On | **Delete**. Nobody can delete a workflow. |
| `importExport` | Off | **Import and export**. No importing a workflow from a file, or saving one to a file. |
| `presence` | On | **Who’s editing**. Nobody sees who else is editing. The editing lock stays. |
| **Runs** |   |   |
| `cancelRuns` | On | **Cancel runs**. Nobody can cancel a run, whether it is running, queued or held. |
| `runAgain` | On | **Run again**. No running a finished run again with the same data. |
| `deleteRuns` | Off | **Delete runs**. Nobody can delete runs from the history. |
| **Connections** |   |   |
| `createConnections` | On | **Create and edit**. Nobody can add, change or remove a connection. Customers use the ones your server or your staff made. |
| **Developers** |   |   |
| `tokens` | Off | **Tokens**. No tokens page, and no token made for the account works, by an editor or your server. A person with AI apps that signed in keeps the page, as **MCP**, only to disconnect them. |
| `mcp` | Off | **MCP**. Tokens work with the API only. The MCP Tool trigger isn’t offered. Needs Tokens. |
| `mcpBuild` | Off | **MCP building**. An AI app can run published workflows as tools, but not build them. Needs MCP. |
| `mcpSignIn` | Off | **MCP sign-in**. AI apps connect with a token only. Needs MCP. |

> **Warning** **Code step**, **HTTP step** and **Sub-flows** stop new steps only. To stop live workflows running an app, such as HTTP Request, take it out of the app list under **What customers get › Apps**. Its steps then fail when they run, and putting it back brings them back.

## Switches AI apps need

Turning off **Tokens**, **MCP**, **MCP building** or **MCP sign-in** pauses the AI apps that signed in. They work again when it is back on, for up to 180 days after each connected. To end them, use **Disconnect all AI apps**.

On **What customers get**, a switch that needs another reads “Off until Tokens is on”, and a save that pauses AI apps asks first: “This pauses 4 AI apps in 2 accounts.”, with **Save and pause**.

There is no switch for step data: everyone sees a run’s inputs and outputs, as in the dashboard. For what never appears in the embed, see [Never in the embed](https://docs.gorunner.io/embed/what-customers-see#never-in-the-embed).

## New switches arrive off

A switch added in a later release starts off for your customers, so an upgrade never gives them something you didn’t choose. Its release notes name it, and **What customers get** marks it **new**; one you changed reads **Changed from the default**. A page or SDK that doesn’t know a switch treats it as off.

The one exception is **Cancel runs** (v2026.10.4), which starts on: customers could always cancel. v2026.10.4 added Overview, Tokens, MCP and MCP building (then named AI clients and AI building), all off. v2026.10.23 added MCP sign-in (then AI app sign-in), off, with SDK 1.4.0.

Related: [What customers see](https://docs.gorunner.io/embed/what-customers-see) · [Tokens and AI apps](https://docs.gorunner.io/embed/tokens-and-ai-apps) · [SDK turnOff](https://docs.gorunner.io/embed/sdk#options) · [Versions and upgrades](https://docs.gorunner.io/embed/versions)

Source: https://docs.gorunner.io/embed/switches
