{"record":{"id":"de882f17f09d4141","repo":"BloopAI/vibe-kanban","slug":"unsupported-provider","errorCode":"unsupported_provider","errorMessage":"t('createWorkspaceFromPr.errors.unsupportedProvider')","messagePattern":"t\\('createWorkspaceFromPr\\.errors\\.unsupportedProvider'\\)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/web-core/src/shared/dialogs/command-bar/CreateWorkspaceFromPrDialog.tsx","lineNumber":167,"sourceCode":"          run_setup: runSetup,\n          remote_name: selectedRemote,\n        });\n        if (!result.success) {\n          switch (result.error?.type) {\n            case 'branch_fetch_failed':\n              throw new Error(result.error.message);\n            case 'auth_failed':\n              throw new Error(result.error.message);\n            case 'cli_not_installed':\n              throw new Error(\n                t('createWorkspaceFromPr.errors.cliNotInstalled', {\n                  provider: result.error.provider,\n                })\n              );\n            case 'pr_not_found':\n              throw new Error(t('createWorkspaceFromPr.errors.prNotFound'));\n            case 'unsupported_provider':\n              throw new Error(\n                t('createWorkspaceFromPr.errors.unsupportedProvider')\n              );\n            default:\n              throw new Error(\n                result.message ||\n                  t('createWorkspaceFromPr.errors.failedToCreateWorkspace')\n              );\n          }\n        }\n        return result.data;\n      },\n      onSuccess: (data) => {\n        queryClient.invalidateQueries({ queryKey: ['tasks'] });\n        queryClient.invalidateQueries({ queryKey: ['workspaces'] });\n        modal.hide();\n        appNavigation.goToWorkspace(data.workspace.id);\n      },\n    });","sourceCodeStart":149,"sourceCodeEnd":185,"githubUrl":"https://github.com/BloopAI/vibe-kanban/blob/4deb7eca8f381f7cbc1f9d15515a9ab8f8009053/packages/web-core/src/shared/dialogs/command-bar/CreateWorkspaceFromPrDialog.tsx#L149-L185","documentation":"This error surfaces when workspacesApi.createFromPr returns { success: false, error: { type: 'unsupported_provider' } }. The backend does not support the git remote's forge provider for PR operations (only certain ProviderKinds are implemented). The dialog maps it to the localized createWorkspaceFromPr.errors.unsupportedProvider message.","triggerScenarios":"Create Workspace clicked on a repo whose remote host is not a supported provider (e.g. Bitbucket, self-hosted Gitea, generic git server); workspacesApi.createFromPr resolves success:false with error.type 'unsupported_provider'.","commonSituations":"Repo cloned from a provider other than GitHub/GitLab (Bitbucket, Azure DevOps, Gitea); SSH remote URL in a non-standard format the backend can't classify; enterprise/self-hosted forge not yet supported by this version.","solutions":["Check the repo's remote URL points to a supported provider (GitHub/GitLab); update it with `git remote set-url` if wrong","Use a repo hosted on a supported forge for PR-based workspace creation","Upgrade the app/backend to a version that supports your provider, if support was added upstream","Create the workspace directly from a branch instead of from a PR for unsupported providers"],"exampleFix":"// before\ngit remote -v\norigin  git@bitbucket.org:team/repo.git   -> unsupported_provider\n// after\ngit remote set-url origin git@github.com:team/repo.git","handlingStrategy":"validation","validationCode":"const SUPPORTED = ['github.com', 'gitlab.com'];\nfunction providerSupported(remoteUrl: string) {\n  return SUPPORTED.some((host) => /@|^https?:\\/\\//.test(remoteUrl) && remoteUrl.includes(host));\n}\n// before opening Create-from-PR, check the selected remote:\nif (!providerSupported(remote.url)) show('This provider does not support PR-based workspace creation');","typeGuard":"function isUnsupportedProvider(e: CreateFromPrError | undefined): e is { type: 'unsupported_provider' } {\n  return e?.type === 'unsupported_provider';\n}","tryCatchPattern":"try {\n  await workspacesApi.createFromPr(input);\n} catch (err) {\n  if (isUnsupportedProvider(err.cause ?? err)) {\n    show('Provider unsupported for PR import — create the workspace from a branch instead.');\n    switchToBranchFlow();\n  }\n}","preventionTips":["Validate the remote host against supported providers before showing PR options","Fall back to branch-based workspace creation for unsupported forges","Keep ProviderKind support matrix documented for users","Upgrade to newer versions that add providers you need"],"tags":["git","provider","unsupported"],"backgroundTag":"unsupported-provider","analyzedSha":"4deb7eca8f381f7cbc1f9d15515a9ab8f8009053","analyzedAt":"2026-08-29T09:24:13.446Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}