Skip to main content
Mission Control is an in-cluster console for monitoring, configuring, and operating LangSmith on Kubernetes. It runs inside your cluster and is accessed with kubectl port-forward by default, so no ingress is required. There are two install paths: The public install assets are:
  • install-script.sh: one installer with separate prereqs, namespace, secret, values, install, and forward steps.
  • values.yaml: default Helm values for a port-forward-only install.
Mission Control images are published to two Docker Hub repositories: langchain/mission-control-backend and langchain/mission-control-frontend. The latest images can be checked with:
Browser review links:
  • https://github.com/langchain-ai/helm/tree/main/charts/mission-control/install-script.sh
  • https://github.com/langchain-ai/helm/tree/main/charts/mission-control/values.yaml
The commands below use raw GitHub URLs so curl can download the files directly. If you publish these files from a different repo or branch, replace the raw base URL below.

Prerequisites

You must run the installer against the Kubernetes cluster where LangSmith is installed or will be installed. Confirm the active context before continuing:
The installer identity needs permission to create the Mission Control namespace resources and cluster-scoped RBAC:
All five commands should return yes. See Permissions reference for the runtime permissions granted to Mission Control.

Quick install

Run these three commands:
The all step:
  • Checks required tools and RBAC.
  • Creates the langsmith namespace.
  • Prompts for a Mission Control username and password.
  • Stores those credentials in the mission-control-auth Kubernetes Secret.
  • Writes values.yaml if one does not already exist.
  • Installs from the public Helm chart repository if you are not running from a local chart checkout.
  • Installs Mission Control with Helm.
The RBAC check runs:
If your organization intentionally blocks kubectl auth can-i but Helm installs are approved through another control path, run:

Access the UI

After the install finishes, start a local port-forward:
Open http://localhost:3000 and log in with the username and password you entered.

Review the script first

The quick install path downloads the script before running it, so you can review install-script.sh locally before the third command.

Edit values before install

The quick install path also downloads values.yaml before running the installer. Review or edit that file before the third command if you need to change namespace, resources, ingress, feature flags, or diagnostic persistence. Common edits: Example with a custom namespace:

Script command reference

Useful flags:

Manual install

Use this path when installer scripts are not allowed. These steps use normal kubectl, helm, and curl commands only.
1

Add the Helm repo and get the values file

Add the LangChain Helm repo:
Download the customer values file:
Review values.yaml before installing. Keep config.auth.enabled: true for production.If your platform requires non-root containers, Mission Control can run as UID 1001. Add this to values.yaml before installing:
2

Create the namespace

3

Create the auth credentials Secret

Credentials are stored in a Kubernetes Secret. They are not written to values.yaml.
For multi-replica backend deployments, include a shared JWT signing key in the same Secret and set config.auth.jwtSecretKey: jwtSecret in values.yaml:
4

Install with Helm

Wait for both workloads to become ready (the backend runs as a StatefulSet, the frontend as a Deployment):
You can also inspect the pods directly:
5

Access the UI

Open http://localhost:3000 and log in with the credentials from step 3.

Upgrade

Download the latest public values file, merge in any local changes you need, then run:
If you are working from a local chart checkout instead:
If you installed with the quick script and kept it locally:

Uninstall

This removes the Mission Control release. It does not delete your namespace or unrelated LangSmith resources. Optional cleanup of Mission Control-owned Secrets:

Additional resources

Troubleshooting

Permissions reference

The Helm chart creates a ServiceAccount, ClusterRole, and ClusterRoleBinding named mission-control. Most permissions are read-only. Write verbs are narrow and controlled by feature flags. Install or upgrade requires the ability to create cluster-scoped RBAC (ClusterRole and ClusterRoleBinding), usually cluster-admin or a custom equivalent. The broadest runtime permission set is only used when config.features.deploy: true; that flag is enabled by default, set it to false for read-only installs.

Always-present read-only permissions

Feature-gated permissions

Set feature flags to false in values.yaml to remove the corresponding write verbs. With all feature flags disabled, Mission Control is effectively read-only except for authentication setup permissions when config.auth.enabled: true.