Add Agents app banner to welcome page footer#308911
Conversation
Add a banner button in the welcome page footer that allows users to try out the new Agents app. The banner includes: - A button with the agent icon and 'Try out the new Agents app' label that executes the workbench.action.openAgentsWindow command - A 'Learn more' link that opens code.visualstudio.com - Telemetry logging for both actions - CSS styling for the banner with proper theming integration Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds a promotional “Agents app” banner to the Welcome / Getting Started page footer, intended to open the Agents window and provide a “Learn more” link, with corresponding telemetry.
Changes:
- Adds a footer banner button that dispatches
openAgentsWindowand executesworkbench.action.openAgentsWindow. - Adds a “Learn more” link that opens
https://code.visualstudio.comand logs telemetry. - Introduces CSS rules for
.agents-bannerand its inner layout/link styling.
Show a summary per file
| File | Description |
|---|---|
src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css |
Styles the new footer banner and “Learn more” link. |
src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts |
Renders the banner/link in the footer and wires up dispatch + telemetry + opener behavior. |
Copilot's findings
- Files reviewed: 2/2 changed files
- Comments generated: 2
| case 'openAgentsWindow': { | ||
| this.commandService.executeCommand('workbench.action.openAgentsWindow'); | ||
| break; |
There was a problem hiding this comment.
workbench.action.openAgentsWindow is only registered in the desktop (electron-browser) layer. Because the banner is rendered unconditionally on the welcome page, clicking it in web builds (or any environment where the command isn’t registered) will reject the command execution and can surface as an unhandled promise rejection. Consider gating the banner/button on command availability (e.g. CommandsRegistry.getCommand(...)), and/or await + handle errors with a fallback (hide banner, show notification, or open a relevant URL).
| const agentsBannerButton = $('button.getting-started-category.agents-banner', { | ||
| 'x-dispatch': 'openAgentsWindow', | ||
| title: localize('welcomePage.tryAgentsApp', "Try out the new Agents app"), | ||
| }, | ||
| $('.main-content', {}, | ||
| $('.codicon.codicon-agent.icon-widget'), | ||
| $('h3.category-title.max-lines-3', {}, localize('welcomePage.tryAgentsAppLabel', "Try out the new Agents app")), | ||
| learnMoreLink, | ||
| ), |
There was a problem hiding this comment.
The banner button nests an <a> element (learnMoreLink) inside a <button>, which is invalid HTML and causes accessibility/interaction issues (the inner link typically won’t be keyboard-focusable and screen readers may announce it incorrectly). Also, the anchor is created without an href, so it isn’t treated as a real link. Restructure so the “Learn more” link is a sibling element (or the outer container isn’t a <button>), and provide an href for proper semantics while still using stopPropagation/preventDefault for the opener behavior if needed.
Summary
Adds a banner button in the welcome page footer that promotes the new Agents app.

Changes
workbench.action.openAgentsWindowcommand.code.visualstudio.comin the browser. Click is isolated from the button viastopPropagation.openAgentsWindowandopenAgentsLearnMoreactions..agents-bannerelement with proper theming integration, centered layout, and rounded corners.Screenshot reference
The banner appears in the footer area of the welcome page, above the "Show welcome page on startup" checkbox.