github / github/copilot-cli

`agentStop` triggering on subagent turns causing `/review` to never finish/return

Open
#3,894 1 comment 1 reaction 0 assignees View on GitHub
area:agents area:plugins
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

### Describe the bug

I have a custom hook registered to `agentStop` that instructs the agent to improve instructions files based on the work it did and issues it ran into (if instructions were out-of-date) [digivolution](https://github.com/scaryrawr/scarypilot/tree/main/plugins/digivolution).

This is intended to only be ran by the main agent, which [hook events](https://docs.github.com/en/copilot/reference/hooks-reference#hook-events) mentions the `agentStop` fires when:
> The main agent finishes a turn.

When running subagents lately, I see that `/review` never succeeds because the subagent is running main agent stop hooks:

![Image](https://github.com/user-attachments/assets/480bc829-0f9b-40c6-a2e9-e408b59a984f)

![Image](https://github.com/user-attachments/assets/b43664c2-dd3e-4e07-9090-8f79ba8bdd67)

Since the stop hook can trigger the agent to keep working, it ends up the subagent never submits the review response, even though it finished the stop hook condition as well.

### Affected version

GitHub Copilot CLI 1.0.64-3

### Steps to reproduce the behavior

1. Register a `stopAgent` hook that can block the agent turn from ending
2. Do a `/review` in a codebase where it uses subagents

### Expected behavior

The subagent should not run the `stopAgent` hook since there is a separate `subagentStop` hook and `stopAgent` is documented as not being used for subagents.

The actual behavior is that `stopAgent` is also picked up by subagents and ran.

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reproducing `/review` with a blocking `stopAgent` hook on GitHub Copilot CLI 1.0.64-3, then compare the documented `agentStop` and separate `subagentStop` behavior. Trace hook handling during subagent turns; done means subagents no longer run `stopAgent`, while the main agent still does and `/review` returns.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, shell
Domain
cli, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.