github / github/copilot-cli

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

Đang mở
#2,136 0 bình luận 5 reaction 0 người được giao Xem trên GitHub
area:agents
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.