Skip to content
Draft
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
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 'Agents and Subagents'
description: 'Learn how delegated subagents differ from primary agents, when to use them, and how to launch them in VS Code and Copilot CLI.'
authors:
- GitHub Copilot Learning Hub Team
lastUpdated: 2026-07-01
lastUpdated: 2026-07-17
estimatedReadingTime: '9 minutes'
tags:
- agents
Expand Down Expand Up @@ -212,6 +212,12 @@ No. They can run sequentially when one step depends on another, or in parallel w

Yes. In v1.0.66+, usage-based billing users can configure **subagent concurrency and depth limits** directly from `/settings`. The concurrency limit controls how many subagents run in parallel; the depth limit controls how many levels deep delegation can chain (preventing runaway recursive subagent trees). These settings give you predictable control over resource consumption during complex orchestrated tasks.

In v1.0.71, the **default maximum subagent nesting depth was lowered from 6 to 4** to curb runaway recursive delegation. Usage-based billing users can still raise `subagents.maxDepth` up to 128 via `/settings` if their workflows require deeper nesting.

**Can I send follow-up messages to a running subagent?**

Yes, as of v1.0.72, **multi-turn subagents are always enabled**. You can send follow-up messages to a running subagent without waiting for it to finish, allowing you to redirect or clarify mid-task. This was previously a toggle that needed to be enabled.

## Next steps

- Read [Building Custom Agents](../building-custom-agents/) to design coordinator and worker agents.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 'Copilot Configuration Basics'
description: 'Learn how to configure GitHub Copilot at user, workspace, and repository levels to optimize your AI-assisted development experience.'
authors:
- GitHub Copilot Learning Hub Team
lastUpdated: 2026-07-13
lastUpdated: 2026-07-17
estimatedReadingTime: '10 minutes'
tags:
- configuration
Expand Down Expand Up @@ -541,16 +541,25 @@ The `/cd` command changes the working directory for the current session. Since v

This is useful when you have multiple backgrounded sessions each focused on a different project directory.

The `/worktree` command (v1.0.61+, also aliased `/move`) creates a new git worktree and switches into it, moving any uncommitted changes along. This lets you start working on a parallel branch without leaving your current terminal session:
The `/worktree` command (v1.0.61+) creates a new git worktree and switches into it. Since v1.0.71, `/worktree` **leaves your uncommitted changes in the current directory** so you can continue working there while the new worktree starts clean:

```
/worktree my-feature-branch
```

In v1.0.66+, you can pass a task description to `/worktree` to name the branch from the task and immediately run the task as the first prompt in the new worktree — all in one step:
The companion `/move` command (v1.0.71+) does the opposite: it **carries your uncommitted changes into the new worktree**, picking up exactly where you left off on a new branch:

```
/worktree fix the login redirect
/move my-feature-branch
```

> **Before v1.0.71**: `/worktree` and `/move` were aliases for the same command, which always moved uncommitted changes to the new worktree. If you relied on the old behavior of `/worktree` moving your changes, switch to `/move`.

In v1.0.66+, you can pass a task description to either command to name the branch from the task and immediately run the task as the first prompt in the new worktree — all in one step:

```
/worktree fix the login redirect # start clean on a new branch
/move fix the login redirect # bring uncommitted changes to a new branch
```

This creates a branch named from your task description and begins working on it immediately, making it easy to spin up parallel work without stopping to think of a branch name.
Expand Down Expand Up @@ -615,6 +624,12 @@ The `/chronicle skills review` subcommand *(v1.0.66+)* opens an interactive revi

This keeps you in control of skill evolution — the agent can propose skill improvements as it discovers reusable patterns, but nothing is applied until you explicitly approve each change.

The `/chronicle cost-tips` subcommand *(v1.0.71+)* opens an interactive cost analysis with recommendations for reducing your token usage. It shows local and cloud cost profiles and suggests changes — such as switching to a lighter model or using `/compact` more frequently — based on patterns in your current session:

```
/chronicle cost-tips
```

> **Note**: Session history, file tracking, and the `/chronicle` command were previously experimental features. As of v1.0.40, they are available to all users without enabling experimental mode.

The `/diagnose` command (v1.0.64+) analyzes the current session's logs and surfaces diagnostic information to help troubleshoot unexpected behavior, performance issues, or errors:
Expand All @@ -625,6 +640,14 @@ The `/diagnose` command (v1.0.64+) analyzes the current session's logs and surfa

Use `/diagnose` when a session is behaving unexpectedly — it inspects session logs and reports what it finds, making it easier to share diagnostics with support or understand what happened internally.

The `/voice devices` command *(v1.0.71-2+)* opens a picker to choose which microphone the CLI uses for voice mode, and persists that choice across sessions:

```
/voice devices
```

Use this if you have multiple microphones (e.g., headset and built-in) and want to pin the CLI to the preferred device without reconfiguring every session.

**Keyboard shortcuts for queuing messages**: Use **Ctrl+Q** or **Ctrl+Enter** to queue a message (send it while the agent is still working). **Ctrl+D** no longer queues messages — it now has its default terminal behavior. If you have muscle memory for Ctrl+D queuing, switch to Ctrl+Q.

**Background running tasks**: Press **Ctrl+X → B** to move the current running task or shell command to the background. The task continues executing while you can type a new message or review earlier output. This is useful for long-running commands where you want to interact with the agent while waiting for the result.
Expand Down Expand Up @@ -744,6 +767,8 @@ copilot --plan # start in plan mode (propose without executing)

This is useful in scripts or CI pipelines where you want the CLI to immediately begin working in a specific mode without an interactive prompt.

> **Note (v1.0.71-2+)**: Plan mode now **hard-blocks** built-in tool calls that would modify the workspace. The agent cannot edit files or run mutating shell commands while planning. Built-in mutators like opening a pull request are also blocked. MCP and external tools are still allowed in plan mode.

The `--max-autopilot-continues` flag controls how many times Copilot can automatically continue in autopilot mode before pausing for confirmation. The default is 5:

```bash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 'Installing and Using Plugins'
description: 'Learn how to find, install, and manage plugins that extend GitHub Copilot CLI with reusable agents, skills, hooks, and integrations.'
authors:
- GitHub Copilot Learning Hub Team
lastUpdated: 2026-07-13
lastUpdated: 2026-07-17
estimatedReadingTime: '8 minutes'
tags:
- plugins
Expand Down Expand Up @@ -220,6 +220,16 @@ copilot plugin marketplace update

# Remove a plugin
copilot plugin uninstall my-plugin

# Remove a specific skill from a plugin (v1.0.72+)
copilot plugins remove --skill my-skill-name
```

*(v1.0.72+)* The `plugins` command also supports `--plugin`, `--mcp`, and `--skill` flags for targeted mutations — adding or removing specific components of an installed plugin without reinstalling the whole package:

```bash
copilot plugins remove --skill slow-skill # remove just a skill
copilot plugins remove --mcp unused-server # remove an MCP server from a plugin
```

### Loading Plugins from a Local Directory
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 'Understanding MCP Servers'
description: 'Learn how Model Context Protocol servers extend GitHub Copilot with access to external tools, databases, and APIs.'
authors:
- GitHub Copilot Learning Hub Team
lastUpdated: 2026-07-13
lastUpdated: 2026-07-17
estimatedReadingTime: '8 minutes'
tags:
- mcp
Expand Down Expand Up @@ -317,6 +317,17 @@ You can also open the `/mcp` manager while the agent is working to toggle server

**Toggling servers on and off** (v1.0.66+): From the `/mcp` list view, you can **enable or disable individual MCP servers** without editing your config file. Select a server in the list and toggle it — disabled servers won't start in future sessions and their tools won't be available to agents. This is useful for temporarily disabling a server that's causing slowdowns or errors without removing it from your configuration entirely.

**Persisting GitHub MCP toolset and tool configuration** *(v1.0.71+)*: You can now persist your GitHub MCP server's toolset and tool selection via `settings.json`. This keeps your GitHub MCP configuration consistent across sessions and repositories:

```json
{
"githubMcpToolsets": ["repos", "issues", "pull_requests"],
"githubMcpTools": ["list_issues", "create_pull_request"]
}
```

Use `githubMcpToolsets` to enable or disable entire capability groups, and `githubMcpTools` for fine-grained tool-level control. You can also use `--add-github-mcp-tool "*"` at startup to enable all GitHub MCP tools for a session.

**Common causes and fixes**:

| Symptom | Likely Cause | Fix |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: 'Working with Canvas Extensions'
description: 'Create and iterate on GitHub Copilot app canvases using /create-canvas, then shape them into reusable project or personal extensions.'
authors:
- GitHub Copilot Learning Hub Team
lastUpdated: 2026-06-17
lastUpdated: 2026-07-17
estimatedReadingTime: '8 minutes'
tags:
- copilot-app
Expand Down Expand Up @@ -133,6 +133,12 @@ Treat the first `/create-canvas` result as version one. Then refine in-place:

The fastest loop is: **use the canvas**, note friction, and ask the agent for a targeted update.

## Canvas extensions in Copilot CLI

*(v1.0.71-2+)*: Canvas extensions are now supported in the **Copilot CLI** as well as the Copilot app. Extension-driven canvas interactions — where an `extension.mjs` exposes capabilities and a UI panel — work in the CLI's side-panel view.

This means extensions you create for the Copilot app can also be used from the terminal, making canvas workflows portable across surfaces. When an extension provides a canvas, it appears in the CLI's split-pane view, and agents can call its capabilities in the same way as in the app.

## Next steps

- Review the [GitHub Copilot app overview](../github-copilot-app/) for broader session and workflow concepts.
Expand Down