diff --git a/canvas/src/components/CreateWorkspaceDialog.tsx b/canvas/src/components/CreateWorkspaceDialog.tsx index f03e61924..47f47f6ad 100644 --- a/canvas/src/components/CreateWorkspaceDialog.tsx +++ b/canvas/src/components/CreateWorkspaceDialog.tsx @@ -10,6 +10,7 @@ import { buildProviderCatalog, buildProviderCatalogFromRegistry, findProviderForModel, + isPlatformManagedProvider, type SelectorModel, type SelectorValue, type RegistryProvider, @@ -290,7 +291,7 @@ export function CreateWorkspaceButton() { setError("Model is required"); return; } - if (!isExternal && selectedLLMProvider?.envVars.length && !llmSecret.trim()) { + if (!isExternal && !isPlatformManagedProvider(selectedLLMProvider) && selectedLLMProvider?.envVars.length && !llmSecret.trim()) { setError("Provider credential is required"); return; } @@ -325,7 +326,7 @@ export function CreateWorkspaceButton() { ? { model: llmSelection.model.trim(), llm_provider: nativeProvider.vendor, - ...(nativeProvider.envVars.length > 0 + ...(!isPlatformManagedProvider(nativeProvider) && nativeProvider.envVars.length > 0 ? { secrets: { [nativeProvider.envVars[0]]: llmSecret.trim() } } : {}), } @@ -521,7 +522,11 @@ export function CreateWorkspaceButton() { idPrefix="create-workspace-llm" variant="stack" /> - {selectedLLMProvider.envVars.length > 0 && ( + {isPlatformManagedProvider(selectedLLMProvider) ? ( +

+ Platform-managed — no key required +

+ ) : selectedLLMProvider.envVars.length > 0 && (