github / github/copilot-cli

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

オープン
#2,136 コメント 0 件 リアクション 5 件 担当者 0 名 GitHub で見る
area:agents
主要言語
Shell
スター
11.2k
フォーク
1.9k
平均マージ
14時間 16分
マージ済み PR(30日)
6

説明

## 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.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。