fix(cli): support LANGSMITH_WORKSPACE_ID for deployments

This commit is contained in:
Rafid Saad
2026-09-13 13:49:01 -07:00
parent e539ac122f
commit c416b6561c
3 changed files with 131 additions and 4 deletions
+13 -3
View File
@@ -63,6 +63,8 @@ RESERVED_ENV_VARS = frozenset(
"DD_TRACE_REDIS_ENABLED",
"LANGSMITH_DEPLOYMENT_NAME",
"LANGGRAPH_CLOUD_LICENSE_KEY",
# CLI workspace selection must not override the deployed runtime.
"LANGSMITH_WORKSPACE_ID",
# ALLOWED_SELF_HOSTED_ENV_VARS (rejected for non-self-hosted)
"LANGSMITH_API_KEY",
"LANGSMITH_ENDPOINT",
@@ -1258,8 +1260,13 @@ def _create_host_backend_client(
fg="yellow",
)
resolved_api_key = click.prompt("Enter LangSmith API key", hide_input=True)
tenant_id = env_vars.get("LANGSMITH_TENANT_ID") or os.environ.get(
"LANGSMITH_TENANT_ID"
# Prefer the public workspace name, retaining tenant as a legacy alias.
# As with API keys, config/.env takes precedence over the shell per name.
tenant_id = (
env_vars.get("LANGSMITH_WORKSPACE_ID")
or os.environ.get("LANGSMITH_WORKSPACE_ID")
or env_vars.get("LANGSMITH_TENANT_ID")
or os.environ.get("LANGSMITH_TENANT_ID")
)
return HostBackendClient(host_url, resolved_api_key, tenant_id=tenant_id)
@@ -1289,7 +1296,8 @@ def _call_host_backend_with_optional_tenant(
if _no_input:
raise click.ClickException(
"API key is org-scoped and requires a workspace ID. "
"Set LANGSMITH_TENANT_ID in your .env file or "
"Set LANGSMITH_WORKSPACE_ID (or LANGSMITH_TENANT_ID) "
"in your environment or .env file, or "
"use a workspace-scoped API key."
) from None
click.secho(
@@ -1545,6 +1553,8 @@ def _deploy_base_options(
"[Beta] Build and deploy a LangGraph image to LangSmith Deployment.\n\n"
"This command is in beta and under active development. "
"Expect frequent updates and improvements.\n\n"
"Set LANGSMITH_WORKSPACE_ID in your environment or .env file to select "
"a workspace. LANGSMITH_TENANT_ID is supported as a fallback.\n\n"
"Run from the root of your LangGraph project (where langgraph.json "
"is located). This command also accepts build flags (--base-image, "
"--config, --pull, etc.). See 'langgraph build --help' for details."