From f4fdf8be4eb4828148cd5fb259b256ac9b9c7339 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 13 Oct 2026 20:48:33 +0000 Subject: [PATCH 1/4] Document agent-scoped hooks in Learning Hub Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../src/content/docs/learning-hub/automating-with-hooks.md | 6 ++++++ .../src/content/docs/learning-hub/building-custom-agents.md | 2 ++ 2 files changed, 8 insertions(+) diff --git a/website/src/content/docs/learning-hub/automating-with-hooks.md b/website/src/content/docs/learning-hub/automating-with-hooks.md index 6765696cf4..6b29a26d4b 100644 --- a/website/src/content/docs/learning-hub/automating-with-hooks.md +++ b/website/src/content/docs/learning-hub/automating-with-hooks.md @@ -255,6 +255,12 @@ automatically before the agent commits changes. 3. Adjust the formatter command for your project ``` +### Agent-Scoped Hooks + +Custom agents can declare their own hooks declaratively, so the hooks apply only while that agent is running rather than to every session in the repository. Use this for guardrails that belong to one agent (for example, a security reviewer that blocks writes) while keeping repository-wide hooks in `.github/hooks/`. See [Building Custom Agents](../building-custom-agents/) for the agent file format and the [Copilot CLI changelog](https://github.com/github/copilot-cli/blob/main/changelog.md) for the current hook-declaration syntax. + +In autopilot mode, a `preToolUse` hook that returns an `ask` decision is denied rather than waiting on a permission dialog nobody is watching, so write unattended hooks to return an explicit `allow` or `deny`. + ## Practical Examples ### Auto-Approve Permissions in CI with PermissionRequest diff --git a/website/src/content/docs/learning-hub/building-custom-agents.md b/website/src/content/docs/learning-hub/building-custom-agents.md index 0cf56a3db8..afdf83043f 100644 --- a/website/src/content/docs/learning-hub/building-custom-agents.md +++ b/website/src/content/docs/learning-hub/building-custom-agents.md @@ -96,6 +96,8 @@ tools: ['codebase', 'terminal', 'github'] --- ``` +**Agent-scoped hooks**: An agent can declare hooks that run only while that agent is active, which is useful for per-agent guardrails such as validating commands or logging. See [Automating with Hooks](../automating-with-hooks/#agent-scoped-hooks). + **tools** (recommended): An array of built-in tools and MCP servers the agent can access. Common tools include: | Tool | Purpose | From 6c0b9642507eaddb33da7f0348490f1cc3b7e0bd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2026 20:47:53 +0000 Subject: [PATCH 2/4] Document copilot config subcommands and user settings location Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../docs/learning-hub/copilot-configuration-basics.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/website/src/content/docs/learning-hub/copilot-configuration-basics.md b/website/src/content/docs/learning-hub/copilot-configuration-basics.md index c9e4665df3..356a4b7d91 100644 --- a/website/src/content/docs/learning-hub/copilot-configuration-basics.md +++ b/website/src/content/docs/learning-hub/copilot-configuration-basics.md @@ -924,6 +924,10 @@ Run `/config` to open a dedicated sidebar configuration screen inside the CLI, g /config ``` +### The `copilot config` Subcommands + +Manage settings from the shell without hand-editing files. `copilot config` has subcommands to list, read, set, and remove settings, which is handy in setup scripts and dotfiles. User-level settings live in `~/.copilot/settings.json`. Inside a session, `/config` offers the same settings interactively, and settings that your organization manages through policy appear read-only or hidden. + ### Sandbox Network Allow/Deny Rules `/sandbox` supports per-host network allow/deny rules that layer on top of your configured upstream proxy, instead of replacing it. This lets you permit or block specific hosts for sandboxed commands without reconfiguring your whole proxy setup — useful when a sandboxed build or test needs to reach one extra domain (like a package registry mirror) while keeping the rest of your network policy intact. @@ -941,6 +945,7 @@ Command-line parsing is handled by a Rust-based grammar that mirrors what the CL This section collects settings and behaviors that **changed or were renamed** in past releases. Check here if something you configured previously stopped working, or if you're auditing an older config file — everything above describes current behavior and does not require reading this section first. - **`~/.claude/` agents and skills are not loaded.** Only `~/.claude/settings.json` is read for configuration; custom agents, skills, and commands placed in `~/.claude/` are ignored. Move them to `~/.copilot/agents/`, `~/.copilot/skills/`, `~/.agents/skills/`, or your repository's `.github/agents/` / `.github/skills/`. +- **User settings are read only from `~/.copilot/settings.json`.** User-setting keys left in `~/.copilot/config.json` are ignored, so move them to `settings.json`. - **`/model` now scopes to the current session only.** Previously it changed both the session model and your global default together. Use `/config model` to change the default for future sessions. - **`allowDevToolCaches` was renamed to `allowDevToolAccess`.** If your settings file still sets `allowDevToolCaches`, it is silently ignored — update it to `allowDevToolAccess`. - **Sandbox auth settings moved from `sandbox.gitAuth`/`sandbox.ghAuth` to `sandbox.auth.git`/`sandbox.auth.gh`.** There is no automatic migration; the old keys are silently ignored, and SDK requests that still send them are rejected as invalid. From be4ef038cc35fdddf4da50684bdd73c3c6195fe2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 19 Oct 2026 20:47:19 +0000 Subject: [PATCH 3/4] Document ghapp install links, telemetry and trust-folder flags Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../docs/learning-hub/copilot-configuration-basics.md | 4 ++++ .../docs/learning-hub/installing-and-using-plugins.md | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/website/src/content/docs/learning-hub/copilot-configuration-basics.md b/website/src/content/docs/learning-hub/copilot-configuration-basics.md index 356a4b7d91..a92077f990 100644 --- a/website/src/content/docs/learning-hub/copilot-configuration-basics.md +++ b/website/src/content/docs/learning-hub/copilot-configuration-basics.md @@ -928,6 +928,10 @@ Run `/config` to open a dedicated sidebar configuration screen inside the CLI, g Manage settings from the shell without hand-editing files. `copilot config` has subcommands to list, read, set, and remove settings, which is handy in setup scripts and dotfiles. User-level settings live in `~/.copilot/settings.json`. Inside a session, `/config` offers the same settings interactively, and settings that your organization manages through policy appear read-only or hidden. +### Telemetry and Folder Trust Flags + +Pass `--disable-client-telemetry` to turn off client telemetry uploads from the CLI. For one-off prompt-mode runs (`copilot -p "..."` or piped stdin), pass `--trust-folder` to trust the current folder without an interactive prompt. Only use it on directories you trust. + ### Sandbox Network Allow/Deny Rules `/sandbox` supports per-host network allow/deny rules that layer on top of your configured upstream proxy, instead of replacing it. This lets you permit or block specific hosts for sandboxed commands without reconfiguring your whole proxy setup — useful when a sandboxed build or test needs to reach one extra domain (like a package registry mirror) while keeping the rest of your network policy intact. diff --git a/website/src/content/docs/learning-hub/installing-and-using-plugins.md b/website/src/content/docs/learning-hub/installing-and-using-plugins.md index 45201338b7..24a3bafe89 100644 --- a/website/src/content/docs/learning-hub/installing-and-using-plugins.md +++ b/website/src/content/docs/learning-hub/installing-and-using-plugins.md @@ -211,6 +211,12 @@ Or from an interactive session: /plugin install database-data-management@awesome-copilot ``` +Verified skills and plugins can also be installed from a GitHub install link, which the CLI accepts as a `ghapp://` URL: + +```bash +copilot plugin install "ghapp://air/install?..." +``` + > **Deprecation notice**: Installing plugins directly from a GitHub repository URL, raw URL, or local file path (e.g., `copilot plugin install github/awesome-copilot`) is deprecated and will be removed in a future release. Use marketplace-based installation instead. ### From VS Code From efc84c4d53137fc7ee57614517f2f7ed7e55239b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 27 Oct 2026 02:51:48 +0000 Subject: [PATCH 4/4] Keep Learning Hub update hooks-only Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com> --- .../docs/learning-hub/copilot-configuration-basics.md | 9 --------- .../docs/learning-hub/installing-and-using-plugins.md | 6 ------ 2 files changed, 15 deletions(-) diff --git a/website/src/content/docs/learning-hub/copilot-configuration-basics.md b/website/src/content/docs/learning-hub/copilot-configuration-basics.md index a92077f990..c9e4665df3 100644 --- a/website/src/content/docs/learning-hub/copilot-configuration-basics.md +++ b/website/src/content/docs/learning-hub/copilot-configuration-basics.md @@ -924,14 +924,6 @@ Run `/config` to open a dedicated sidebar configuration screen inside the CLI, g /config ``` -### The `copilot config` Subcommands - -Manage settings from the shell without hand-editing files. `copilot config` has subcommands to list, read, set, and remove settings, which is handy in setup scripts and dotfiles. User-level settings live in `~/.copilot/settings.json`. Inside a session, `/config` offers the same settings interactively, and settings that your organization manages through policy appear read-only or hidden. - -### Telemetry and Folder Trust Flags - -Pass `--disable-client-telemetry` to turn off client telemetry uploads from the CLI. For one-off prompt-mode runs (`copilot -p "..."` or piped stdin), pass `--trust-folder` to trust the current folder without an interactive prompt. Only use it on directories you trust. - ### Sandbox Network Allow/Deny Rules `/sandbox` supports per-host network allow/deny rules that layer on top of your configured upstream proxy, instead of replacing it. This lets you permit or block specific hosts for sandboxed commands without reconfiguring your whole proxy setup — useful when a sandboxed build or test needs to reach one extra domain (like a package registry mirror) while keeping the rest of your network policy intact. @@ -949,7 +941,6 @@ Command-line parsing is handled by a Rust-based grammar that mirrors what the CL This section collects settings and behaviors that **changed or were renamed** in past releases. Check here if something you configured previously stopped working, or if you're auditing an older config file — everything above describes current behavior and does not require reading this section first. - **`~/.claude/` agents and skills are not loaded.** Only `~/.claude/settings.json` is read for configuration; custom agents, skills, and commands placed in `~/.claude/` are ignored. Move them to `~/.copilot/agents/`, `~/.copilot/skills/`, `~/.agents/skills/`, or your repository's `.github/agents/` / `.github/skills/`. -- **User settings are read only from `~/.copilot/settings.json`.** User-setting keys left in `~/.copilot/config.json` are ignored, so move them to `settings.json`. - **`/model` now scopes to the current session only.** Previously it changed both the session model and your global default together. Use `/config model` to change the default for future sessions. - **`allowDevToolCaches` was renamed to `allowDevToolAccess`.** If your settings file still sets `allowDevToolCaches`, it is silently ignored — update it to `allowDevToolAccess`. - **Sandbox auth settings moved from `sandbox.gitAuth`/`sandbox.ghAuth` to `sandbox.auth.git`/`sandbox.auth.gh`.** There is no automatic migration; the old keys are silently ignored, and SDK requests that still send them are rejected as invalid. diff --git a/website/src/content/docs/learning-hub/installing-and-using-plugins.md b/website/src/content/docs/learning-hub/installing-and-using-plugins.md index 24a3bafe89..45201338b7 100644 --- a/website/src/content/docs/learning-hub/installing-and-using-plugins.md +++ b/website/src/content/docs/learning-hub/installing-and-using-plugins.md @@ -211,12 +211,6 @@ Or from an interactive session: /plugin install database-data-management@awesome-copilot ``` -Verified skills and plugins can also be installed from a GitHub install link, which the CLI accepts as a `ghapp://` URL: - -```bash -copilot plugin install "ghapp://air/install?..." -``` - > **Deprecation notice**: Installing plugins directly from a GitHub repository URL, raw URL, or local file path (e.g., `copilot plugin install github/awesome-copilot`) is deprecated and will be removed in a future release. Use marketplace-based installation instead. ### From VS Code