From 3562cca743a4d42b3b126cd3ffa5e85c708fcf20 Mon Sep 17 00:00:00 2001 From: dotta Date: Wed, 18 Mar 2026 06:37:24 -0500 Subject: [PATCH] feat: hide bootstrap prompt config unless agent already has one Only show the bootstrap prompt field on the agent configuration page when editing an existing agent that already has a bootstrapPromptTemplate value set. Label it as "(legacy)" with an amber notice recommending migration to prompt template or instructions file. Hidden entirely for new agent creation. Closes PAP-536 Co-Authored-By: Paperclip Co-Authored-By: Claude Opus 4.6 --- ui/src/components/AgentConfigForm.tsx | 56 +++++++++++++-------------- 1 file changed, 26 insertions(+), 30 deletions(-) diff --git a/ui/src/components/AgentConfigForm.tsx b/ui/src/components/AgentConfigForm.tsx index c6e48cd0..5dab6a1e 100644 --- a/ui/src/components/AgentConfigForm.tsx +++ b/ui/src/components/AgentConfigForm.tsx @@ -717,36 +717,32 @@ export function AgentConfigForm(props: AgentConfigFormProps) { )} )} - - - isCreate - ? set!({ bootstrapPrompt: v }) - : mark("adapterConfig", "bootstrapPromptTemplate", v || undefined) - } - placeholder="Optional initial setup prompt for the first run" - contentClassName="min-h-[44px] text-sm font-mono" - imageUploadHandler={async (file) => { - const namespace = isCreate - ? "agents/drafts/bootstrap-prompt" - : `agents/${props.agent.id}/bootstrap-prompt`; - const asset = await uploadMarkdownImage.mutateAsync({ file, namespace }); - return asset.contentPath; - }} - /> - -
- Bootstrap prompt is only sent for fresh sessions. Put stable setup, habits, and longer reusable guidance here. Frequent changes reduce the value of session reuse because new sessions must replay it. -
+ {!isCreate && typeof config.bootstrapPromptTemplate === "string" && config.bootstrapPromptTemplate && ( + <> + + + mark("adapterConfig", "bootstrapPromptTemplate", v || undefined) + } + placeholder="Optional initial setup prompt for the first run" + contentClassName="min-h-[44px] text-sm font-mono" + imageUploadHandler={async (file) => { + const namespace = `agents/${props.agent.id}/bootstrap-prompt`; + const asset = await uploadMarkdownImage.mutateAsync({ file, namespace }); + return asset.contentPath; + }} + /> + +
+ Bootstrap prompt is legacy and will be removed in a future release. Consider moving this content into the agent's prompt template or instructions file instead. +
+ + )} {adapterType === "claude_local" && ( )}