diff --git a/src/renderer/components/Experiment/Eval/EditEvalModal.tsx b/src/renderer/components/Experiment/Eval/EditEvalModal.tsx
index 9e6e69c1dc86fea8c4e69cede62395172fed197c..c5ee3d2e7ec38772543213d07656880498583831 100644
--- a/src/renderer/components/Experiment/Eval/EditEvalModal.tsx
+++ b/src/renderer/components/Experiment/Eval/EditEvalModal.tsx
@@ -25,6 +25,7 @@ import TrainingModalDataTab from '../Train/TraningModalDataTab';
 import AvailableFieldsImage from 'renderer/img/show-available-fields.png';
 
 import { generateFriendlyName } from 'renderer/lib/utils';
+import exp from 'node:constants';
 const fetcher = (url) => fetch(url).then((res) => res.json());
 
 function PluginIntroduction({ experimentInfo, pluginId }) {
@@ -97,6 +98,9 @@ export default function TrainingModalLoRA({
             if (evalConfig) {
               setConfig(evalConfig.script_parameters);
             }
+            if (!nameInput && evalConfig?.script_parameters.run_name) {
+              setNameInput(evalConfig.script_parameters.run_name);
+            }
           }
         } catch (error) {
           console.error('Failed to parse evaluations JSON string:', error);
@@ -105,6 +109,9 @@ export default function TrainingModalLoRA({
     }
   }, [experimentInfo, currentEvalName, pluginId]);
 
+  console.log('Experiment Info:', experimentInfo);
+  console.log("Current Eval Name:", currentEvalName);
+
   // Function to check if any key in the config contains the word "dataset"
   const hasDatasetKey = (config: any) => {
     return Object.keys(config).some(key => key.toLowerCase().includes('dataset'));
@@ -164,6 +171,19 @@ export default function TrainingModalLoRA({
       </Stack>
     );
   }
+  const handleSubmit = async (event: FormEvent<HTMLFormElement>) => {
+    event.preventDefault();
+    const formData = new FormData(event.currentTarget);
+    const formJson = Object.fromEntries((formData as any).entries());
+    try {
+      const result = await chatAPI.EXPERIMENT_EDIT_EVALUATION(experimentInfo?.id, currentEvalName, formJson)
+      alert(JSON.stringify(formJson, null, 2));
+      console.log('Edit Evaluation Result:', result);
+      onClose();
+    } catch (error) {
+      console.error('Failed to edit evaluation:', error);
+    }
+  };
 
   return (
     <Modal open={open}>
@@ -186,15 +206,20 @@ export default function TrainingModalLoRA({
             height: '100%',
             justifyContent: 'space-between',
           }}
-          onSubmit={(event: FormEvent<HTMLFormElement>) => {
-            event.preventDefault();
-            const formData = new FormData(event.currentTarget);
-            const formJson = Object.fromEntries((formData as any).entries());
+          // onSubmit={(event: FormEvent<HTMLFormElement>) => {
+          //   event.preventDefault();
+          //   const formData = new FormData(event.currentTarget);
+          //   const formJson = Object.fromEntries((formData as any).entries());
 
-            setNameInput(generateFriendlyName());
-            alert(JSON.stringify(formJson, null, 2));
-            onClose();
-          }}
+          //   setNameInput(generateFriendlyName());
+          //   // Set the run name in formJson as template name
+          //   // formJson.run_name = formJson.template_name;
+          //   // 
+          //   // alert(JSON.stringify(formJson, null, 2));
+          //   const result = await chatAPI.EXPERIMENT_EDIT_EVALUATION(experimentInfo?.id, currentEvalName, formJson)
+          //   onClose();
+          // }}
+          onSubmit={handleSubmit}
         >
           <Tabs
             aria-label="evaluation Template Tabs"
diff --git a/src/renderer/lib/transformerlab-api-sdk.ts b/src/renderer/lib/transformerlab-api-sdk.ts
index dd16ede40a087873458f271f191c3d4324dbea28..35905eb43107ed84bc377862b799013b5d57fddf 100644
--- a/src/renderer/lib/transformerlab-api-sdk.ts
+++ b/src/renderer/lib/transformerlab-api-sdk.ts
@@ -1253,9 +1253,9 @@ Endpoints.Experiment = {
   DeleteConversation: (experimentId: string, conversationId: string) =>
     FULL_PATH(
       'experiment/' +
-        experimentId +
-        '/conversations/delete?conversation_id=' +
-        conversationId
+      experimentId +
+      '/conversations/delete?conversation_id=' +
+      conversationId
     ),
   InstallPlugin: (experimentId: string, pluginId: string) =>
     API_URL() +
@@ -1280,10 +1280,10 @@ Endpoints.Experiment = {
   ) =>
     FULL_PATH(
       'experiment/' +
-        experimentId +
-        '/plugins/list?type=' +
-        type +
-        (filter ? '&filter=' + filter : '')
+      experimentId +
+      '/plugins/list?type=' +
+      type +
+      (filter ? '&filter=' + filter : '')
     ),
   ScriptListFiles: (experimentId: string, id: string) =>
     API_URL() + 'experiment/' + experimentId + '/plugins/' + id + '/list_files',
@@ -1440,6 +1440,29 @@ export async function EXPERIMENT_ADD_EVALUATION(
   return result;
 }
 
+export async function EXPERIMENT_EDIT_EVALUATION(
+  id: string,
+  evalName: string,
+  scriptParameters: any
+) {
+  const newPlugin = {
+    evalName: evalName,
+    script_parameters: scriptParameters,
+  };
+
+  const response = await fetch(API_URL() + 'experiment/' + id + '/evals/edit', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json',
+      accept: 'application/json',
+    },
+    body: JSON.stringify(newPlugin),
+  });
+  const result = await response.json();
+  return result;
+}
+
+
 export function CREATE_EXPERIMENT_URL(name: string) {
   return API_URL() + 'experiment/create?name=' + name;
 }
@@ -1559,16 +1582,16 @@ export async function activateWorker(
   try {
     response = await fetch(
       API_URL() +
-        'server/worker_start?model_name=' +
-        model +
-        '&adaptor=' +
-        adaptorName +
-        '&engine=' +
-        engine +
-        '&experiment_id=' +
-        experimentId +
-        '&parameters=' +
-        paramsJSON
+      'server/worker_start?model_name=' +
+      model +
+      '&adaptor=' +
+      adaptorName +
+      '&engine=' +
+      engine +
+      '&experiment_id=' +
+      experimentId +
+      '&parameters=' +
+      paramsJSON
     );
     const result = await response.json();
     return result;