From 3db91721cb79f658b3962eebcaf5aee4a3b10ec7 Mon Sep 17 00:00:00 2001 From: bashrusakh <127580858+bashrusakh@users.noreply.github.com> Date: Wed, 24 Jun 2026 06:38:49 +1100 Subject: [PATCH] fix(providers): use correct endpoint for provider disconnect (#1714) Fix #1462: handleDisconnectProvider called the SDK auth.remove() which only clears auth credentials from auth.json. Cloud providers configured in user/project/custom config files were not removed and reappeared after reload. Now calls DELETE /api/provider/:id/auth?scope=all which removes the provider from all config sources. Co-authored-by: Leonid Skorobogatyy --- .../components/sections/providers/ProvidersPage.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/ui/src/components/sections/providers/ProvidersPage.tsx b/packages/ui/src/components/sections/providers/ProvidersPage.tsx index 4fb42c3d..0d7a4e0a 100644 --- a/packages/ui/src/components/sections/providers/ProvidersPage.tsx +++ b/packages/ui/src/components/sections/providers/ProvidersPage.tsx @@ -477,9 +477,14 @@ export const ProvidersPage: React.FC = () => { setAuthBusyKey(busyKey); try { - const result = await opencodeClient.getSdkClient().auth.remove({ providerID: providerId }); - if (result.error) { - throw new Error(t('settings.providers.page.toast.providerDisconnectFailed')); + const response = await runtimeFetch(`/api/provider/${encodeURIComponent(providerId)}/auth?scope=all`, { + method: 'DELETE', + headers: { Accept: 'application/json' }, + }); + + const payload = await response.json().catch(() => null); + if (!response.ok) { + throw new Error(payload?.error || t('settings.providers.page.toast.providerDisconnectFailed')); } toast.success(t('settings.providers.page.toast.providerDisconnected'));