Does onPostToolUse hook additionalContext get injected into sub-agent context?
- Langage dominant
- Java
- Étoiles
- 10.5k
- Forks
- 1.5k
- Merge moyen
- 1 j 11 h
- PR mergées (30 j)
- 127
Description
## Context
We're building a qa agent. It has an orchestrator agent that dispatches work to custom sub-agents via the `task` tool. We use session-level `onPostToolUse` hooks to enforce guardrails (retry limits on failing tests). The hooks fire correctly during sub-agent execution — we can see `hook.start`/`hook.end` events in the session journal, and `onPreToolUse` denials work as expected inside sub-agents.
## What we observe
We have a guardrail that tracks test failures per spec. After 3 failures, we want to tell the sub-agent "stop retrying, mark as fixme, move on." Currently our hook calls `session.send({ prompt: text, mode: "immediate" })` separately. The sub-agent ignores this and keeps retrying (7+ attempts observed).
Before max attempts, we return `{ additionalContext: feedbackText }` from the hook (per-attempt guidance like "attempt 2/3, try a different approach"). We haven't been able to confirm whether this feedback actually reaches the sub-agent.
## Questions
1. Does `{ additionalContext }` returned from `onPostToolUse` get injected into the active sub-agent's context, or only the parent session?
2. Does `session.send({ mode: "immediate" })` reach a running sub-agent, or does it queue on the parent session?
3. What is the recommended way to steer a sub-agent mid-turn from a hook?
## Environment
- `@github/copilot-sdk@1.0.6`
- `@github/copilot@1.0.70`
- Custom agents with `tools: null` (all tools)
- Hooks registered at session creation via `hooks: { onPreToolUse, onPostToolUse }`
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Start with the onPostToolUse hook, task tool, and session.send({ mode: "immediate" }) entry points using the listed SDK versions. Reproduce the behavior while checking the session journal for hook.start and hook.end events and the sub-agent's received context. Done means the context scope, message delivery behavior, and recommended mid-turn steering method are clearly documented.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript
- Domaine
- api, developer-experience
- Type d'issue
- Documentation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100