github / github/copilot-cli

bug: 'web'/'search' tool-category aliases silently resolve to no bound tool in headless --agent dispatch

Đang mở
#4,023 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
area:agents area:non-interactive area:tools
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

When an agent's frontmatter declares tools using the category aliases `web` or
`search`, those aliases silently resolve to **no bound tool at all** when the
agent is dispatched headlessly via `copilot --agent -p ... --allow-all-tools`.
There is no error or warning — the agent simply has no web-fetch/web-search
capability, which is easy to miss since nothing fails loudly.

Other category aliases in the same position work correctly: `read` → `view`,
`edit` → `edit`, `shell` → `powershell`, `agent` → `task/read_agent/list_agents`.
Only `web` and `search` are affected.

## Environment

- GitHub Copilot CLI 1.0.68 (Windows)
- Invocation: `copilot --agent -p "" --allow-all-tools`

## Repro

Agent frontmatter:
```yaml
---
name: tool-probe
tools:
- read
- web
- search
---
```

Dispatch:
```
copilot --agent tool-probe -p "List every tool you have available to you right now, one per line, then stop." --allow-all-tools
```

**Observed bound tools:** view, skill, sql — no web/search tool at all.

Changing the frontmatter to the literal tool names instead of the category aliases:

```yaml
tools:
- read
- web_fetch
- web_search
```

**Observed bound tools:** view, web_fetch, web_search, skill, sql — correct.

## Impact

Any agent relying on the documented web/search category aliases for web
access has zero web tooling in headless dispatch, with no error surfaced
anywhere. We found this affected 5 of our own agent specs (including a
Chief-of-Staff-style orchestrator whose own web lookups were silently broken)
before switching to literal tool names as a workaround.

## Suggested fix

Category-alias resolution for web/search should map to web_fetch/web_search
in headless --agent dispatch mode the same way shell correctly maps to
powershell and read maps to view.

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

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

Hướng nghiên cứu

Bắt đầu bằng cách lần theo quá trình phân giải bí danh danh mục cho các công cụ frontmatter trong quá trình dispatch headless --agent, sử dụng bản tái hiện web/search đã được ghi lại. So sánh các bí danh đó với read và shell, sau đó xác minh hành vi theo nghĩa đen của web_fetch/web_search. Được xem là hoàn tất khi web và search liên kết các công cụ अपेक्षित trong dispatch headless và lỗi im lặng được bao phủ bằng một kiểm tra hồi quy.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
shell
Lĩnh vực
cli
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
68/100

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.