The artifacts panel in Visual Studio Code surfaces important resources, such as screenshots, plans, and documents, alongside the chat conversation. Artifacts can come from multiple sources simultaneously and are displayed in a collapsible tree control, grouped by origin.
The features on this page work in both the Chat view and the Agents window.
The artifacts panel is currently in preview. To enable it, set
chat.artifacts.enabled
to true.

Artifacts can appear in the panel from different sources, which are merged and grouped by origin:
#artifacts tool. Each update replaces the previous agent artifact list.Rules-based extraction uses three settings, each mapping a pattern to a group configuration. The group configuration has a groupName (display label) and an optional onlyShowGroup flag (when true, only the group header is shown instead of individual items).
| Setting | Description | Default |
|---|---|---|
| chat.artifacts.rules.byMimeType | Match tool results by MIME type pattern, such as "image/*". |
{ "image/*": { "groupName": "Screenshots", "onlyShowGroup": true } } |
| chat.artifacts.rules.byFilePath | Match workspace files by glob pattern, such as "**/*plan*.md". |
{ "**/*plan*.md": { "groupName": "Plans" } } |
| chat.artifacts.rules.byMemoryFilePath | Match memory tool writes by glob pattern, such as "**/*plan*.md". |
{ "**/*plan*.md": { "groupName": "Plans" } } |
For example, to add a rule that surfaces HTML files written by the agent as artifacts, add the following to your settings:
"chat.artifacts.rules.byFilePath": {
"**/*.html": { "groupName": "Web Pages" }
}
To disable rules-based extraction entirely, set all three rule settings to {}.
When artifacts are available, the artifacts panel appears alongside the conversation. Artifacts are organized in groups based on their source.
You can ask the agent to store something as an artifact by describing what you want in your prompt. For example:
The agent then uses the #artifacts tool to add the resource to the artifacts panel. You don't need to reference the tool directly. Just describe what you want to keep, and the agent determines when to surface it as an artifact.
The agent can also use the #artifactRules tool to override the extraction rules for the current session. This replaces any settings-based rules for the duration of the session.