Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions