diff --git a/src/main/utils/runScript.ts b/src/main/utils/runScript.ts
index 3f7b789b..d6f644c0 100644
--- a/src/main/utils/runScript.ts
+++ b/src/main/utils/runScript.ts
@@ -7,9 +7,24 @@ import { scriptsDir } from '@core/datastore/dirs'
import picgo from '@core/picgo'
import logger from '@core/picgo/logger'
import axios from 'axios'
+import dotenv from 'dotenv'
import fs from 'fs-extra'
import { IPicGo } from 'piclist'
+function getFreshEnv() {
+ const envPath = path.join(scriptsDir(), '.env')
+
+ if (fs.existsSync(envPath)) {
+ const buf = fs.readFileSync(envPath)
+ const config = dotenv.parse(buf)
+ for (const k in config) {
+ process.env[k] = config[k]
+ }
+ return config
+ }
+ return {}
+}
+
export const scriptLifecycleStages = [
'onSoftwareOpen',
'onSoftwareClose',
@@ -38,6 +53,7 @@ function format(data: unknown): string {
export async function runScript(ctx: IPicGo, script: string, extra: Record