diff --git a/internal/auth/keychain.go b/internal/auth/keychain.go index 63263c5..128ba89 100644 --- a/internal/auth/keychain.go +++ b/internal/auth/keychain.go @@ -92,11 +92,11 @@ func (km *KeychainManager) GetAPIKey(service, account string) (string, error) { // DeleteAPIKey removes a key from both stores. func (km *KeychainManager) DeleteAPIKey(service, account string) error { - if err := km.primary.Delete(service, account); err != nil && - !errors.Is(err, keyring.ErrNotFound) && - !errors.Is(err, keyring.ErrUnsupportedPlatform) { - return fmt.Errorf("failed to delete API key: %w", err) - } + // Try to delete from primary keyring, but don't fail on keyring errors + // (e.g., dbus unavailable, permission denied) - just clean up fallback + _ = km.primary.Delete(service, account) + + // Always clean up fallback if err := km.fallback.delete(service, account); err != nil && !errors.Is(err, os.ErrNotExist) { return err }