Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions build/feature-lifecycle.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@
"label": "Built-in dictation",
"state": "experimental"
},
"chat-pet": {
"label": "VS Code pet",
"state": "experimental"
},
"forked-skill-context": {
"label": "Forked skill context",
"state": "experimental"
Expand Down
5 changes: 5 additions & 0 deletions build/sitemap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -635,6 +635,11 @@
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://code.visualstudio.com/docs/agents/reference/chat-pet</loc>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://code.visualstudio.com/docs/agents/reference/workspace-context</loc>
<changefreq>weekly</changefreq>
Expand Down
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/click-button-v2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/click-cool.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/click-love.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/click-sing-v2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/click-speechless.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/click-worry.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/click-yap-static.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/cursor-gaze.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/dizzy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/drag-drop-v2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/fall-respawn-pr330399.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/grow-shrink.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/keyboard-hop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/needs-input.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/on-the-run-v2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/processing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/sleep-wake-pr330399.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/toggle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/agents/images/chat-pet/typing-v2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
70 changes: 70 additions & 0 deletions docs/agents/reference/chat-pet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
ContentId: 587745a8-bc1a-4a6c-9570-93c10066cbe2
DateApproved: 9/2/2026
MetaDescription: Explore every VS Code pet interaction and reaction, including chat activity, movement, activation surprises, achievements, colors, and sizing.
MetaSocialImage: ../images/shared/github-copilot-social.png
---

# VS Code pet interactions and reactions

`feature(chat-pet)`

The {% data variables.product.prodname_vscode %} pet sits above the chat input box and reacts as you work with agents. This reference lists the pet's reactions to chat activity, movement, direct interactions, and context-menu actions.

![Screenshot showing the VS Code pet entering and leaving the chat input in Stable blue and Insiders green.](../images/chat-pet/toggle.png)

To learn how to show, hide, and control the pet, see [Personalize chat](/docs/chat/chat-overview.md#use-the-vs-code-pet).

## Chat activity reactions

| Activity | Pet reaction | Preview |
|----------|--------------|---------|
| Move the pointer around the chat input | Its pupils follow the pointer. | ![Screenshot showing the Stable and Insiders pets following a pointer with their eyes.](../images/chat-pet/cursor-gaze.png) |
| Type a prompt | It works at its tiny terminal. | ![Screenshot showing the Stable and Insiders pets typing at a tiny terminal.](../images/chat-pet/typing-v2.png) |
| Wait for a request to run | It thinks with an animated speech bubble. | ![Screenshot showing the Stable and Insiders pets processing a request with an animated speech bubble.](../images/chat-pet/processing.png) |
| Respond to a confirmation or question | It claps when the agent needs your input. | ![Screenshot showing the Stable and Insiders pets clapping when input is needed.](../images/chat-pet/needs-input.png) |
| Leave chat idle for 20 seconds | It falls asleep as a sleep bubble grows and drifts from its nose. Interact with the pet or type in the input box to wake it. | ![Screenshot showing the Stable and Insiders pets sleeping with growing sleep bubbles and waking after an interaction.](../images/chat-pet/sleep-wake-pr330399.png) |
| Finish a response | It performs the button-press celebration. | ![Screenshot showing the Stable and Insiders pets pressing their red buttons.](../images/chat-pet/click-button-v2.png) |

## Movement reactions

| Interaction | Pet reaction | Preview |
|-------------|--------------|---------|
| Drag and drop | The pet follows the pointer until you release it. | ![Screenshot showing the Stable and Insiders pets being lifted and dropped onto the chat input.](../images/chat-pet/drag-drop-v2.png) |
| Flick | The pet continues in the direction of the gesture before gravity pulls it down. | |
| Press `kbstyle(Left)` or `kbstyle(Right)` | The pet hops along the input box until it reaches an edge. | ![Screenshot showing the Stable and Insiders pets hopping right and left with the arrow keys.](../images/chat-pet/keyboard-hop.png) |
| Press `kbstyle(Shift+Left)` or `kbstyle(Shift+Right)` | The pet is thrown toward a wall. | |
| Move the pointer quickly between the pet's left and right sides, or alternate the arrow keys | The pet becomes dizzy. | ![Screenshot showing the Stable and Insiders pets following a rapidly moving pointer and becoming dizzy.](../images/chat-pet/dizzy.png) |
| Drop or throw the pet past the input box | The pet falls into a despawn effect at the bottom of chat, reappears at the top, and lands on the input box. | ![Screenshot showing the Stable and Insiders pets falling into portals, reappearing at the top, and landing on the chat input.](../images/chat-pet/fall-respawn-pr330399.png) |

## Activation reactions

Select the pet while it is resting, or focus it and press `kbstyle(Enter)` or `kbstyle(Space)`, to trigger one of these reactions at random. The pet doesn't immediately repeat its previous reaction.

| Reaction | Behavior | Preview |
|----------|----------|---------|
| Button press | Presses its red button. | ![Screenshot showing the Stable and Insiders pets pressing their red buttons.](../images/chat-pet/click-button-v2.png) |
| Heart | Reacts with hearts. | ![Screenshot showing the Stable and Insiders pets reacting with hearts.](../images/chat-pet/click-love.png) |
| Cool | Puts on sunglasses. | ![Screenshot showing the Stable and Insiders pets putting on sunglasses.](../images/chat-pet/click-cool.png) |
| VS Code | Lies on its side and yaps. | ![Screenshot showing the Stable and Insiders pets lying on their sides and yapping.](../images/chat-pet/click-yap-static.png) |
| Sing | Sings a musical note. | ![Screenshot showing the Stable and Insiders pets singing a musical note.](../images/chat-pet/click-sing-v2.png) |
| Speechless | Becomes speechless. | ![Screenshot showing the Stable and Insiders pets becoming speechless.](../images/chat-pet/click-speechless.png) |
| Worry | Looks worried. | ![Screenshot showing the Stable and Insiders pets looking worried.](../images/chat-pet/click-worry.png) |

## Achievements and context-menu actions

When you unlock an achievement, a gold star appears on the pet for 10 seconds. Select the pet while the star is visible to open **Achievements**.

Open the pet's context menu to access these actions:

| Action | Behavior | Preview |
|--------|----------|---------|
| **Achievements** | View locked and unlocked achievements and their accessory rewards. | |
| **Go on the Run** or **Come Back** | The pet ducks out of sight, occasionally peeks into chat, and returns when called. | ![Screenshot showing the Stable and Insiders pets going on the run, peeking out, and coming back.](../images/chat-pet/on-the-run-v2.png) |
| **Grow**, **Shrink**, or **Reset Size** | Resize the pet in 20 percent steps, or restore its default size. You can shrink it to 40 percent or continue to grow it. | ![Screenshot showing the Stable and Insiders pets growing and shrinking.](../images/chat-pet/grow-shrink.png) |
| **Stable Colors** or **Insiders Colors** | Switch the pet between the Stable blue and Insiders green color variants. | ![Screenshot showing the VS Code pet in Stable blue and Insiders green.](../images/chat-pet/toggle.png) |

## Related resources

* [Use chat in {% data variables.product.prodname_vscode_shortname %}](/docs/chat/chat-overview.md)
* [Use the {% data variables.copilot.agents_window %}](/docs/agents/run/agents-window.md)
21 changes: 2 additions & 19 deletions docs/agents/run/agents-window.md
Original file line number Diff line number Diff line change
Expand Up @@ -312,26 +312,9 @@ Supported agent host sessions can contain multiple independent chats that share

The {% data variables.copilot.agents_window %} shares your GitHub account, {% data variables.product.prodname_vscode_shortname %} settings, and default profile with the main {% data variables.product.prodname_vscode_shortname %} window. Configure the following options when you want to adjust the agent-first experience.

### Customize the chat background
### Personalize chat

`feature(agents-window-chat-backgrounds)`

Add a decorative background to the chat area of the {% data variables.copilot.agents_window %} without changing chat in the main {% data variables.product.prodname_vscode_shortname %} window.

To set a background, run the **Chat: Set Background...** command from the Command Palette (`kb(workbench.action.showCommands)`) or right-click an empty area of the chat. Then, choose one of these options:

* **Codicons**: use a theme-aware pattern of built-in {% data variables.product.prodname_vscode_shortname %} icons.
* **Image...**: select an image from your machine.
* **Recently used**: reuse one of your five most recent background images.

For an image background, run **Chat: Change Background Layout...** to repeat, stretch, center, or position the image along an edge or in a corner. Moving through the layout options previews each one. Select an option to save it, or dismiss the picker to restore the previous layout.

To remove the background for the current color theme, run **Chat: Clear Background**.

> [!NOTE]
> Light and dark color themes have separate backgrounds. Background choices are stored on the current machine and don't sync, while the image layout syncs across devices.

Backgrounds are hidden in high contrast themes to preserve chat readability. The background commands are also unavailable while a high contrast theme is active.
Add a decorative chat background, enable the interactive VS Code pet, or adjust how chat content appears. Learn how to [personalize chat](/docs/chat/chat-overview.md#personalize-chat).

### Customize agents for your project and workflow

Expand Down
65 changes: 57 additions & 8 deletions docs/chat/chat-overview.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
ContentId: 557a7e74-f77e-488d-90ea-fd2cfecfffda
DateApproved: 9/2/2026
MetaDescription: Learn how to use chat in {% data variables.product.prodname_vscode_shortname %}. Access different chat surfaces, send a request, add context, write effective prompts, and review AI-generated changes.
MetaDescription: Use chat in {% data variables.product.prodname_vscode_shortname %} to send requests, add context, personalize chat, and review AI-generated changes.
MetaSocialImage: ../images/shared/github-copilot-social.png
---
# Use chat in {% data variables.product.prodname_vscode_shortname %}

Chat in {% data variables.product.prodname_vscode %} lets you use natural language for interacting with AI agents. Ask questions about your code, get help understanding complex logic, generate new features, fix bugs, and more, all through a conversational interface.

This article describes the mechanics of how to interact with chat: how to send a request, add context, choose a language model, write effective prompts, and review AI-generated changes. These mechanics apply to all chat surfaces in {% data variables.product.prodname_vscode_shortname %}. For an overview of what agents can do and how to configure a session, see [Build with agents in {% data variables.product.prodname_vscode_shortname %}](/docs/agents/overview.md).
This article describes the mechanics of how to interact with chat: how to send a request, add context, choose a language model, personalize chat, write effective prompts, and review AI-generated changes. These mechanics apply to all chat surfaces in {% data variables.product.prodname_vscode_shortname %}. For an overview of what agents can do and how to configure a session, see [Build with agents in {% data variables.product.prodname_vscode_shortname %}](/docs/agents/overview.md).

<div class="docs-action" data-show-in-doc="false" data-show-in-sidebar="true" title="Get started with agents">
Follow a hands-on tutorial to build an app with AI agents in {% data variables.product.prodname_vscode_shortname %}.
Expand Down Expand Up @@ -128,12 +128,6 @@ Both settings have three possible values:
> [!TIP]
> Set the value to `always` if you want to stay aware of chat activity while working in other parts of {% data variables.product.prodname_vscode_shortname %}, such as when running long agent tasks in the background.

## Show request and completion timestamps

Chat can show timestamps for when you send a request and when a response completes. Hover over a completion timestamp to see elapsed response time.

Use `setting(chat.verbose)` to enable or disable these timestamps.

## Find text in a chat session

Press `kb(workbench.action.chat.find)` to search the entire conversation. Find is available in the {% data variables.copilot.chat_view %}, chat editor tabs, and the {% data variables.copilot.agents_window %}. It searches prompts and responses, including off-screen content and code blocks.
Expand All @@ -152,6 +146,61 @@ Use the following keyboard shortcuts to navigate between prompts in a chat sessi
* `kb(workbench.action.chat.previousCodeBlock)`: Go to the previous code block in the chat session.
* `kb(workbench.action.chat.nextCodeBlock)`: Go to the next code block in the chat session.

## Personalize chat

Adjust how chat content appears, add an interactive pet, or set a decorative background in the {% data variables.copilot.agents_window %}.

### Customize the chat display

Use these settings to adjust the chat transcript:

| Display option | Settings |
|----------------|----------|
| Markdown font | Set the font family with `setting(chat.fontFamily)` and the font size with `setting(chat.fontSize)`. |
| Code block font and layout | Set the font family, size, weight, and line height with `setting(chat.editor.fontFamily)`, `setting(chat.editor.fontSize)`, `setting(chat.editor.fontWeight)`, and `setting(chat.editor.lineHeight)`. Control line wrapping with `setting(chat.editor.wordWrap)`. |
| Sticky prompts | Use `setting(chat.stickyScroll.enabled)` to pin the current prompt to the top of the transcript while you scroll. |
| Request timestamps | Use `setting(chat.verbose)` to show or hide request and completion timestamps. Hover over a completion timestamp to view the elapsed response time. |

For more chat preferences, see the [AI settings reference](/docs/agents/reference/ai-settings.md#chat-experience).

### Use the VS Code pet

`feature(chat-pet)`

The interactive VS Code pet sits above the chat input box and reacts to chat activity and your interactions. Type `/vscode-pet` in the chat input to show or hide it. In the new-session view of the {% data variables.copilot.agents_window %}, you can also right-click outside the input box and select the **Pet (/vscode-pet)** item.

Interact with the pet in the following ways:

* Select the pet to trigger a reaction. With the keyboard, press `kbstyle(Tab)` to focus it, and then press `kbstyle(Enter)` or `kbstyle(Space)`.
* Drag the pet around chat and release it to drop it. You can also flick it to throw it.
* When the pet has keyboard focus, press `kbstyle(Left)` or `kbstyle(Right)` to make it hop. Hold `kbstyle(Shift)` with an arrow key to throw it toward a wall.
* Right-click the pet to open its context menu and view achievements, send it on the run, resize it, or switch between Stable and Insiders colors. With the keyboard, focus the pet and press `kbstyle(Shift+F10)`.

Only one pet appears at a time in the active chat surface. Its position and size are shared across chats and windows and persist after you restart {% data variables.product.prodname_vscode_shortname %}.

For a complete list of behaviors, see the [VS Code pet interactions and reactions reference](/docs/agents/reference/chat-pet.md).

### Customize the {% data variables.copilot.agents_window %} chat background

`feature(agents-window-chat-backgrounds)`

Add a decorative background to the chat area of the {% data variables.copilot.agents_window %} without changing chat in the main {% data variables.product.prodname_vscode_shortname %} window.

To set a background, run the **Chat: Set Background...** command from the Command Palette (`kb(workbench.action.showCommands)`) or right-click an empty area of the chat. Then, choose one of these options:

* **Codicons**: use a theme-aware pattern of built-in {% data variables.product.prodname_vscode_shortname %} icons.
* **Image...**: select an image from your machine.
* **Recently used**: reuse one of your five most recent background images.

For an image background, run **Chat: Change Background Layout...** to repeat, stretch, center, or position the image along an edge or in a corner. Moving through the layout options previews each one. Select an option to save it, or dismiss the picker to restore the previous layout.

To remove the background for the current color theme, run **Chat: Clear Background**.

> [!NOTE]
> Light and dark color themes have separate backgrounds. Background choices are stored on the current machine and don't sync, while the image layout syncs across devices.

Backgrounds are hidden in high contrast themes to preserve chat readability. The background commands are also unavailable while a high contrast theme is active.

## Get better responses

Chat provides several ways to improve the quality and relevance of AI responses:
Expand Down
1 change: 1 addition & 0 deletions docs/toc.json
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@
"topics": [
["Cheat Sheet", "/docs/agents/reference/ai-features-cheat-sheet"],
["Settings Reference", "/docs/agents/reference/ai-settings"],
["VS Code Pet", "/docs/agents/reference/chat-pet"],
["MCP Configuration", "/docs/agents/reference/mcp-configuration"],
["Hooks Reference", "/docs/agents/reference/hooks-reference"],
["OpenTelemetry Monitoring", "/docs/agents/guides/monitoring-agents"]
Expand Down