From 068b59473f8bcbbcba1ec9ae2bce0dc0e392d1dd 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" && ( )}