github / github/copilot-cli

onSessionStart hook should include the agent name from --agent flag

Offen
#2,136 0 Kommentare 5 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area:agents
Vorherrschende Sprache
Shell
Sterne
11.2k
Forks
1.9k
Ø Merge
14 Std. 16 Min.
Gemergte PRs (30 T.)
6

Beschreibung

## Summary

The `onSessionStart` hook input should include the agent name that the CLI was launched with (`--agent `). Currently, the input only contains `source`, `initialPrompt`, `timestamp`, and `cwd` there's no way for an extension to know which agent it's running inside.

## Use Case

[Myelin](https://github.com/shsolomo/myelin) is a knowledge graph memory extension for Copilot CLI agents. On session start, it injects agent-specific context from the graph different agents get different knowledge nodes based on their domain. For example, a security-focused agent gets security decisions and patterns, while a frontend agent gets UI component relationships.

To do this, the extension needs to know **which agent is running**. Today, the `onSessionStart` input doesn't provide this, so users must manually set a `COPILOT_AGENT` environment variable before launching:

`ash
COPILOT_AGENT=myagent copilot --agent myagent
`

This is redundant the CLI already knows the agent name from `--agent`. It just doesn't pass it to extensions.

## Proposed Change

Add an `agentName` field to the `onSessionStart` hook input:

` ypescript
onSessionStart input: {
source: "startup" | "resume" | "new",
agentName?: string, // <-- NEW: the --agent value, if provided
initialPrompt?: string,
timestamp: number,
cwd: string,
}
`

This would also be useful in other hooks (`onSessionEnd`, `onUserPromptSubmitted`, etc.) or as a field on the `invocation` object, since the agent identity doesn't change mid-session.

## Workaround

Extensions can read `process.env.COPILOT_AGENT` if users set it manually before launching, but this requires users to know about the env var and duplicate the agent name in their launch command.

## Impact

Any extension that wants to provide agent-specific behavior personalized context injection, per-agent logging, agent-specific tool configuration hits this gap today.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.