diff --git a/webview-ui/src/components/settings/constants.ts b/webview-ui/src/components/settings/constants.ts
index 961a3cd474..8459bb0932 100644
--- a/webview-ui/src/components/settings/constants.ts
+++ b/webview-ui/src/components/settings/constants.ts
@@ -97,6 +97,7 @@ export const PROVIDERS = [
// { value: "roo", label: "Roo Code Cloud" },
// kilocode_change end
{ value: "vercel-ai-gateway", label: "Vercel AI Gateway" },
+ { value: "aistupidlevel", label: "AIStupidLevel" }, // kilocode_change
].sort((a, b) => a.label.localeCompare(b.label))
PROVIDERS.unshift({ value: "kilocode", label: "Kilo Code" }) // kilocode_change
diff --git a/webview-ui/src/components/settings/providers/AIStupidLevel.tsx b/webview-ui/src/components/settings/providers/AIStupidLevel.tsx
new file mode 100644
index 0000000000..440d2cd6c5
--- /dev/null
+++ b/webview-ui/src/components/settings/providers/AIStupidLevel.tsx
@@ -0,0 +1,73 @@
+import { useCallback } from "react"
+import { VSCodeTextField } from "@vscode/webview-ui-toolkit/react"
+
+import { type ProviderSettings, type OrganizationAllowList, aiStupidLevelDefaultModelId } from "@roo-code/types"
+
+import type { RouterModels } from "@roo/api"
+
+import { useAppTranslation } from "@src/i18n/TranslationContext"
+import { VSCodeButtonLink } from "@src/components/common/VSCodeButtonLink"
+
+import { inputEventTransform } from "../transforms"
+import { ModelPicker } from "../ModelPicker"
+
+type AIStupidLevelProps = {
+ apiConfiguration: ProviderSettings
+ setApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void
+ routerModels?: RouterModels
+ organizationAllowList: OrganizationAllowList
+ modelValidationError?: string
+}
+
+export const AIStupidLevel = ({
+ apiConfiguration,
+ setApiConfigurationField,
+ routerModels,
+ organizationAllowList,
+ modelValidationError,
+}: AIStupidLevelProps) => {
+ const { t } = useAppTranslation()
+
+ const handleInputChange = useCallback(
+
(
+ field: K,
+ transform: (event: E) => ProviderSettings[K] = inputEventTransform,
+ ) =>
+ (event: E | Event) => {
+ setApiConfigurationField(field, transform(event as E))
+ },
+ [setApiConfigurationField],
+ )
+
+ return (
+ <>
+
+
+
+
+ {t("settings:providers.apiKeyStorageNotice")}
+
+ {!apiConfiguration?.aiStupidLevelApiKey && (
+
+ {t("settings:providers.getAIStupidLevelApiKey")}
+
+ )}
+
+ >
+ )
+}
diff --git a/webview-ui/src/components/settings/providers/index.ts b/webview-ui/src/components/settings/providers/index.ts
index 0f0483d924..2d6d3d5c8b 100644
--- a/webview-ui/src/components/settings/providers/index.ts
+++ b/webview-ui/src/components/settings/providers/index.ts
@@ -29,6 +29,7 @@ export { XAI } from "./XAI"
export { GeminiCli } from "./GeminiCli"
export { VirtualQuotaFallbackProvider } from "./VirtualQuotaFallbackProvider"
// kilocode_change end
+export { AIStupidLevel } from "./AIStupidLevel" // kilocode_change
export { ZAi } from "./ZAi"
export { LiteLLM } from "./LiteLLM"
export { Fireworks } from "./Fireworks"
diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json
index 069dc121ae..1efadbf9be 100644
--- a/webview-ui/src/i18n/locales/en/settings.json
+++ b/webview-ui/src/i18n/locales/en/settings.json
@@ -257,6 +257,8 @@
"getOpenRouterApiKey": "Get OpenRouter API Key",
"vercelAiGatewayApiKey": "Vercel AI Gateway API Key",
"getVercelAiGatewayApiKey": "Get Vercel AI Gateway API Key",
+ "aiStupidLevelApiKey": "AIStupidLevel API Key",
+ "getAIStupidLevelApiKey": "Get AIStupidLevel API Key",
"apiKeyStorageNotice": "API keys are stored securely in VSCode's Secret Storage",
"glamaApiKey": "Glama API Key",
"getGlamaApiKey": "Get Glama API Key",