Stop hook signals task-complete while background subagents are still running
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 68/100
Hướng nghiên cứu
Start with on-stop.sh and the transcript_path hook input described in the issue. Trace spawn markers in tool_results and completion records in queue-operation entries, then reproduce the background-subagent scenario. Done means the stop payload is suppressed while any spawned ID lacks completion, while transcript parse errors fail open.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
on-stop.sh sends the task-complete payload on every Claude Code Stop event. But Stop fires whenever the main agent's turn ends — including turns that launched background subagents (Agent tool) or background Bash tasks that are still running. Warp flips the session to "Complete" and fires the done notification while work continues, then bounces back to "working" when the harness re-invokes the main agent on task completion.
Repro: in Warp, run claude, prompt "launch a research subagent in the background and end your turn." The turn ends → Warp shows Complete; the subagent is still running.
Suggested fix: Claude Code doesn't expose pending-task state to Stop hooks, but the transcript (transcript_path in hook input) carries a reliable ledger: spawn markers in tool_results (Async agent launched successfully … agentId: X / Command running in background with ID: X) and completion records (queue-operation entries containing <task-notification><task-id>X). If any spawned id lacks a completion record, suppress the stop payload — a later Stop fires naturally when the harness re-invokes the main agent after the last task completes. Fail open on parse errors. I have a working wrapper implementation locally and am happy to share it. (Longer term, an official pending-background-tasks field in Stop hook input from Anthropic would make this robust.)
Environment: plugin v2.2.0, Claude Code 2.1.233, macOS.
- Ngôn ngữ chính
- Shell
- Star
- 232
- Fork
- 56
- Merge trung bình
- 4 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của warpdotdev/claude-code-warp
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
warpdotdev/claude-code-warp#63 · 2 bình luận ·
Tất cả issue của warpdotdev/claude-code-warp
Issue tương tự
-
`check_java_version()` fails when Java path contains spaces (Windows / Git Bash, `C:\Program Files`)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
aws-samples/appmod-blueprints#972 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: remote-ls --updates reports up-to-date OCI refs because it ignores deployed Alt-idCó thể đã có người làm @Joao-kouznetz đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
status:needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày