diff --git a/src/renderer/components/Experiment/Train/ImportRecipeModal.tsx b/src/renderer/components/Experiment/Train/ImportRecipeModal.tsx
index 8853ba083177f9606cecc70e51af6077ce9c9582..8597224184c65585d77aa6ce4b40f9a211238208 100644
--- a/src/renderer/components/Experiment/Train/ImportRecipeModal.tsx
+++ b/src/renderer/components/Experiment/Train/ImportRecipeModal.tsx
@@ -35,6 +35,17 @@ export default function ImportRecipeModal({ open, setOpen, mutate }) {
 
   const recipes = recipesData;
 
+
+  const {
+    data: pluginsData,
+    error: pluginsError,
+    isLoading: pluginsLoading,
+  } = useSWR(chatAPI.Endpoints.Plugins.List(), fetcher);
+
+  const installedPlugins = pluginsData
+    ? pluginsData.map(plugin => plugin.uniqueId)
+    : [];
+
   // For any variables that need to be reset on close
   const handleClose = () => {
     mutate();
@@ -225,6 +236,7 @@ export default function ImportRecipeModal({ open, setOpen, mutate }) {
                       <td>
                         <Button
                           size="sm"
+                          disabled = {!(installedPlugins.includes(row.training?.plugin))}
                           onClick={() => {
                             const recipe_text = YAML.stringify(row);
                             uploadRecipe(row.metadata?.name, recipe_text);