diff --git a/src/services/enhance.ts b/src/services/enhance.ts
index d25c6c8ca7ccf4866c3fbe4d14a560558aa2cfb9..57e4ff6a525f7b97f48f8dcfe981cf03e91000a6 100644
--- a/src/services/enhance.ts
+++ b/src/services/enhance.ts
@@ -101,6 +101,8 @@ class Enhance {
       const payload = event.payload as CmdType.EnhancedPayload;
       let pdata = payload.current || {};
 
+      let hasScript = false;
+
       for (const each of payload.chain) {
         const { uid, type = "" } = each.item;
 
@@ -109,6 +111,7 @@ class Enhance {
           if (type === "script") {
             // support async main function
             pdata = await toScript(each.script!, { ...pdata });
+            hasScript = true;
           }
 
           // process merge
@@ -132,6 +135,29 @@ class Enhance {
         }
       }
 
+      // If script is never used
+      // filter other fields
+      if (!hasScript) {
+        const validKeys = [
+          "proxies",
+          "proxy-providers",
+          "proxy-groups",
+          "rule-providers",
+          "rules",
+        ];
+
+        // to lowercase
+        const newData: any = {};
+        Object.keys(pdata).forEach((key) => {
+          const newKey = key.toLowerCase();
+          if (validKeys.includes(newKey)) {
+            newData[newKey] = (pdata as any)[key];
+          }
+        });
+
+        pdata = newData;
+      }
+
       const result = { data: pdata, status: "ok" };
       emit(payload.callback, JSON.stringify(result)).catch(console.error);
     });