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 separateprereqs,namespace,secret,values,install, andforwardsteps.values.yaml: default Helm values for a port-forward-only install.
langchain/mission-control-backend and langchain/mission-control-frontend. The latest images can be checked with:
https://github.com/langchain-ai/helm/tree/main/charts/mission-control/install-script.shhttps://github.com/langchain-ai/helm/tree/main/charts/mission-control/values.yaml
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:
yes. See Permissions reference for the runtime permissions granted to Mission Control.
Quick install
Run these three commands:all step:
- Checks required tools and RBAC.
- Creates the
langsmithnamespace. - Prompts for a Mission Control username and password.
- Stores those credentials in the
mission-control-authKubernetes Secret. - Writes
values.yamlif 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.
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:Review the script first
The quick install path downloads the script before running it, so you can reviewinstall-script.sh locally before the third command.
Edit values before install
The quick install path also downloadsvalues.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
Manual install
Use this path when installer scripts are not allowed. These steps use normalkubectl, 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 For multi-replica backend deployments, include a shared JWT signing key in the same Secret and set
values.yaml.config.auth.jwtSecretKey: jwtSecret in values.yaml:4
Install with Helm
5
Access the UI
Upgrade
Download the latest public values file, merge in any local changes you need, then run:Uninstall
Additional resources
Troubleshooting
Permissions reference
The Helm chart creates aServiceAccount, 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.
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

