diff --git a/client/src/hooks/Input/useQueryParams.ts b/client/src/hooks/Input/useQueryParams.ts index cea11dc351..48d3da90c8 100644 --- a/client/src/hooks/Input/useQueryParams.ts +++ b/client/src/hooks/Input/useQueryParams.ts @@ -266,7 +266,10 @@ export default function useQueryParams({ const { decodedPrompt, validSettings, shouldAutoSubmit } = processQueryParams(); const hasSettings = Object.keys(validSettings).length > 0; - if (!shouldAutoSubmit) { + const autoSubmitAllowed = startupConfig.interface?.autoSubmitFromUrl !== false; + const willAutoSubmit = shouldAutoSubmit && autoSubmitAllowed; + + if (!willAutoSubmit) { submissionHandledRef.current = true; } @@ -291,7 +294,7 @@ export default function useQueryParams({ } // Handle auto-submission - if (shouldAutoSubmit && decodedPrompt) { + if (willAutoSubmit && decodedPrompt) { if (hasSettings) { // Settings are changing, defer submission pendingSubmitRef.current = true; diff --git a/packages/data-provider/src/config.ts b/packages/data-provider/src/config.ts index d5165f5353..00d4f1a820 100644 --- a/packages/data-provider/src/config.ts +++ b/packages/data-provider/src/config.ts @@ -822,6 +822,7 @@ export const interfaceSchema = z .optional(), temporaryChat: z.boolean().optional(), temporaryChatRetention: z.number().min(1).max(8760).optional(), + autoSubmitFromUrl: z.boolean().optional(), runCode: z.boolean().optional(), webSearch: z.boolean().optional(), peoplePicker: z @@ -879,6 +880,7 @@ export const interfaceSchema = z public: false, }, temporaryChat: true, + autoSubmitFromUrl: true, runCode: true, webSearch: true, peoplePicker: {