microsoft / microsoft/vscode

List of copilot extension jobs in AH

Open
#328,135 2 comments 2 reactions 1 assignee Claimed by @roblourens View on GitHub
agent-host under-discussion
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

## Summary

Inventory everything the built-in `GitHub.copilot-chat` extension currently does that is relevant to the Agents window, distinguishing extension-backed session providers from features still consumed by Agent Host sessions.

## Extension-backed session providers

These entries include all of their provider-specific support code rather than listing that support separately.

- **Extension-host Copilot CLI sessions** (when enabled)
- Session creation, resume, list, archive, delete, and rename
- SDK lifecycle and model catalog
- Permissions and user questions
- Worktrees, diffs, checkpoints, commit/sync, and pull-request actions
- MCP, agents, skills, instructions, hooks, and plugins
- Copilot CLI terminal integration
- Provider-specific telemetry and OpenTelemetry
- **Extension-host Claude sessions**
- Includes its SDK lifecycle, models, permissions, worktrees, customizations, telemetry, and OpenTelemetry
- **Copilot Cloud sessions**
- Cloud task lifecycle, repository selection, confirmations, interruptions, file changes, pull-request integration, and open-in-browser actions
- **Local VS Code chat sessions**
- Runs the original extension-host Copilot participant/tool-calling agent in the Agents window
- Uses the extension's prompts, tools, model provider, edits, and chat history

## Other Agents-window functionality supplied by the extension

- **Terminal chat and terminal assistance**
- `@terminal` / terminal-panel chat
- Explain Last Command
- Terminal quick fixes
- Terminal commit-message generation
- This is separate from Copilot CLI terminal integration, which belongs under extension-host Copilot CLI sessions.

- **Copilot language-model provider and utility models**
- Publishes the normal Copilot model catalog for extension-host/local-chat functionality.
- Publishes `copilot-utility` and `copilot-utility-small`; the small slot normally resolves to GPT-4o mini.
- Shared UI around Agent Host sessions can still use the utility model for goal-banner summaries, collapsed thinking/tool-group titles, and client-side tool-risk assessment.
- Agent Host now performs its own session/fork titles, branch names, commit messages, and pull-request descriptions through the core Copilot API service; those flows no longer depend on the extension LM provider.

- **BYOK language-model providers**
- OpenAI, Anthropic, Gemini, xAI, Ollama, OpenRouter, Azure, and custom endpoints
- Directly relevant to Agent Host: the Agents window can advertise these models through the BYOK bridge to local or remote Agent Hosts.

- **`toolSearch` Agent Host client tool**
- The extension's edit/read/search/notebook/web tool sets are **not** forwarded wholesale to Agent Host.
- Agent Host advertises only tools in the curated, non-deprecated client-tool sets.
- In the Agents window, the curated sets contain core-owned Automations, Integrated Browser, `runTests`, `testFailure`, `rename`, and `usages`, plus extension-owned `toolSearch`.
- `toolSearch` is therefore the only Copilot-extension tool currently executed directly as an Agent Host client tool. Agent Host exposes it to the model as `tool_search_tool`, then the workbench maps it back to the extension implementation and supplies the host-provided candidate corpus for embedding-based search.

- **GitHub MCP definition provider**
- The extension registers the default `github` MCP server definition and resolves the official GitHub MCP HTTP endpoint.
- Core observes that server through `IMcpService`, bundles eligible non-plugin VS Code MCP servers into the synthetic Agent Host customization plugin, and sends it to Agent Host.
- Core owns Agent Host execution and authentication, including initial reuse of the existing Copilot GitHub token for the official endpoint.

- **`github.copilot.chat.preferLongContext.enabled` compatibility**
- The extension registers this setting; core forwards it to local and remote Agent Hosts.
- For Copilot models with a larger long-context window and no surcharge:
- Off: both Default and Longer Sessions context sizes remain selectable.
- On: the picker is suppressed and Agent Host automatically uses `contextTier: 'long_context'`.
- This is model-configuration compatibility, not a standalone feature.

- **Extension OpenTelemetry status UI in the Agents window**
- The Agents-window status pill invokes extension commands such as `github.copilot.chat.otel.statusActive` and reflects the extension OTel pipeline.
- It does **not** reflect the separate core Agent Host OTel pipeline (`chat.agentHost.otel.*`). This distinction is easy to miss.

## Not direct Agent Host dependencies

- **Extension-host customization providers** are implementation details of extension-host Copilot CLI and Claude sessions. They should remain grouped under those providers.
- Extension manifest prompt files and skills target `local` and/or `copilotcli`, not `agent-host-copilotcli`; they are not the source of Agent Host customizations.
- Agent Host customization discovery/sync and the built-in Agents-window skills such as create PR and merge are core-owned.
- **Extension product telemetry** covers Local chat, extension-host Copilot CLI, extension-host Claude, Cloud, terminal chat, and extension-executed `toolSearch`. Agent Host emits its own product telemetry from the host process, including `agentHost.userMessageSent` and provider-agnostic `languageModelToolInvoked`.
- **Extension OTel** (`github.copilot.chat.otel.*`) covers extension-host/local execution paths. **Agent Host OTel** (`chat.agentHost.otel.*`) is implemented in core and runs in the Agent Host process.

## Practical direct dependencies for Agent Host sessions

If extension-backed session providers and Local chat are considered separately, the remaining direct Copilot-extension dependencies used by Agent Host sessions or their surrounding UI are:

1. Copilot utility language models used by shared client-side UI
2. BYOK language-model providers served through the Agent Host bridge
3. The `toolSearch` client tool
4. The GitHub MCP server definition provider
5. Registration of the prefer-long-context setting
6. The extension OTel status pill integration (UI only; it reports the extension pipeline, not Agent Host OTel)

(Written by Copilot)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.