docs: update Learning Hub for Copilot CLI v1.0.37–v1.0.40 changes (#1610)

- automating-with-hooks.md: Add prompt mode security gate note (v1.0.40)
  — repo hooks and workspace MCP are disabled by default in -p prompt mode;
    users must opt in via GITHUB_COPILOT_PROMPT_MODE_REPO_HOOKS and
    GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP env vars

- agents-and-subagents.md: Add /research orchestrator/subagent note (v1.0.40)
  and prompt mode security cross-reference for /fleet -p examples

- building-custom-agents.md: Document ACP agent list/switch capability (v1.0.40)
  — ACP clients can now list and switch custom agents via agent config option

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2026-05-05 10:19:40 +10:00
committed by GitHub
parent a294b62401
commit 542ba90da7
3 changed files with 15 additions and 3 deletions
@@ -3,7 +3,7 @@ title: 'Automating with Hooks'
description: 'Learn how to use hooks to automate lifecycle events like formatting, linting, and governance checks during Copilot agent sessions.'
authors:
- GitHub Copilot Learning Hub Team
lastUpdated: 2026-04-28
lastUpdated: 2026-05-04
estimatedReadingTime: '8 minutes'
tags:
- hooks
@@ -273,6 +273,12 @@ exit 1 # deny (let the user decide interactively)
> **Security note**: Use `PermissionRequest` hooks carefully. Blanket auto-approval in non-CI environments removes an important safety check. Scope the auto-approval logic precisely (e.g., only in CI, only for specific tools).
> **Prompt mode security (v1.0.40+)**: When running the CLI in **prompt mode** (`copilot -p "..."`) — the non-interactive mode commonly used in CI pipelines — repo hooks are **disabled by default** for security. To opt in to repo hooks in prompt mode, set the environment variable `GITHUB_COPILOT_PROMPT_MODE_REPO_HOOKS=true` before running the command:
> ```bash
> GITHUB_COPILOT_PROMPT_MODE_REPO_HOOKS=true copilot -p "..." --no-ask-user
> ```
> This is a secure-by-default change: it prevents untrusted repository hooks from firing silently when a user runs a quick prompt command in an unfamiliar repository. Similarly, workspace MCP servers are disabled in prompt mode by default; opt in with `GITHUB_COPILOT_PROMPT_MODE_WORKSPACE_MCP=true`.
### Handling Tool Failures with postToolUseFailure
The `postToolUseFailure` hook fires when a tool call fails with an error — distinct from `postToolUse`, which only fires on success. Use it to log errors, send failure alerts, or implement retry logic: