onSessionStart hook should include the agent name from --agent flag
- 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
Bewertung
Dieses Issue wurde noch nicht bewertet.