You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Let the setup banner reload an agent's configuration (#331848)
* Let the setup banner reload an agent's configuration
A user who finishes setup outside the app — `claude login` in a terminal,
an exported key — leaves no signal the app can see, so the banner kept
asking them to sign in to something they had already signed in to. Give
them a way to say "look again", and rename the docs link to "learn more"
now that it is one of two links rather than the only one.
The re-look is the tail of a download promoted to its own gesture:
restart chat discovery, then refresh models. `AgentSdkSetupChannel` grows
a second request key rather than per-agent code, so agent #3 still needs
no edit here — one consumed nonce per key, cleared as it is claimed, so a
repeat press still lands.
The reload clause folds into each of the four `noAccount` sentences
rather than trailing them: it is unconditional, so the table stays at
four branches and no localized string is assembled from fragments.
* Rank the no-account copy as the buttons rank it, and harden its links
Read the sentence in the order the routes are weighted: GitHub sign-in leads,
as the primary button; the provider sign-in follows; reload and docs trail,
being the copy's only links rather than buttons. Reload and docs become their
own sentences — kept as trailing clauses they would have fallen under the "if
you already set up Claude elsewhere" conditional, which does not scope docs.
Addresses review feedback: build both `command:` hrefs through
`createCommandUri` instead of by hand (`encodeURIComponent` leaves `)` alone,
so an agent id containing one closed the markdown link destination early), and
escape the host-supplied display name and sign-in provider before interpolating
them into markdown this banner trusts for two commands.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Rewrite the no-account copy, and point Claude at its integrations docs
The four sentences now put every sign-in route and the reload into one "or"
list, ranked as the buttons rank them, and give the docs their own trailing
sentence. Claude's docs URL moves to the third-party integrations page, which
is what "other ways to set up Claude" actually means: Console, Bedrock, Vertex,
Foundry, Teams and Enterprise. "Set up" is the verb, two words, as the rest of
the string already had it.
Both agents' URL constants still described the workbench as labelling a button.
It has been a link since docs stopped being an action.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
returnlocalize('agentHost.sdkSetup.noAccountDescription.all',"Sign in to GitHub to use GitHub Copilot models, sign in to {0} to use your {0} subscription, or read the instructions for other ways to set up {1}.",provider,displayName);
returnsetupMarkdown(localize('agentHost.sdkSetup.noAccountDescription.all',"Sign in to GitHub to use GitHub Copilot models, sign in to {2} to use your {2} subscription, or [reload the configuration]({1}) if you have set up {0} elsewhere. For other ways to set up {0}, [learn more]({3}) on their docs.",name,reload,provider,docs));
98
113
}
99
114
if(provider){
100
-
returnlocalize('agentHost.sdkSetup.noAccountDescription.signIn',"Sign in to GitHub to use GitHub Copilot models, or sign in to {0} to use your {0} subscription.",provider);
115
+
returnsetupMarkdown(localize('agentHost.sdkSetup.noAccountDescription.signIn',"Sign in to GitHub to use GitHub Copilot models, sign in to {2} to use your {2} subscription, or [reload the configuration]({1}) if you have set up {0} elsewhere.",name,reload,provider));
101
116
}
102
-
if(setup.setupDocsUrl){
103
-
returnlocalize('agentHost.sdkSetup.noAccountDescription.docs',"Sign in to GitHub to use GitHub Copilot models, or read the instructions for other ways to set up {0}.",displayName);
117
+
if(docs){
118
+
returnsetupMarkdown(localize('agentHost.sdkSetup.noAccountDescription.docs',"Sign in to GitHub to use GitHub Copilot models or [reload the configuration]({1}) if you have set up {0} elsewhere. For other ways to set up {0}, [learn more]({2}) on their docs.",name,reload,docs));
104
119
}
105
-
returnlocalize('agentHost.sdkSetup.noAccountDescription',"Sign in to GitHub to use GitHub Copilot models.");
120
+
returnsetupMarkdown(localize('agentHost.sdkSetup.noAccountDescription',"Sign in to GitHub to use GitHub Copilot models or [reload the configuration]({1}) if you have set up {0} elsewhere.",name,reload));
106
121
}
107
122
108
123
/**
@@ -197,9 +212,6 @@ export function createAgentSdkSetupNotification(setup: IAgentSdkSetupInfo, displ
0 commit comments