Skip to content

When multiple sessionStart/subagentStart hooks output additionalContext, only the last one is injected into the context #3589

@MrWolfZ

Description

@MrWolfZ

Describe the bug

I have multiple sessionStart/subagentStart hooks, and each of them prints {"additionalContext":"some value"} to stdout. I observed, that only the last emitted value is actually injected into the context. I validated this by simulating this with 2 synthetic hooks that inject different things and then asking the agent about them (or telling it to spawn a sub-agent and ask it). In all cases, only one of the two values is known to the agent.

To be clear, the hooks are all called (I validated this by adding an echo <hook_name> >> /tmp/test.txt to each hook), so the problem is not that only one of them is run. All are run, but only the last output is injected.

Affected version

GitHub Copilot CLI 1.0.56.

Steps to reproduce the behavior

  1. Define multiple sessionStart/subagentStart hooks that each print additionalContext to stdout
  2. Start a new copilot instance
  3. Ask it about both the injected contexts.

Expected behavior

If multiple hooks return additional context, they should all be concatenated.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:context-memoryContext window, memory, compaction, checkpoints, and instruction loadingarea:pluginsPlugin system, marketplace, hooks, skills, extensions, and custom agents

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions