Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

fix(work-items): decompose publish snippet is refused in worktree-isolated sessions

Đã đóng
#6,929 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Một pull request liên quan đã được merge.

  • #7090 của @kyle-sexton — đã merge

Đá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
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
git, shell
Lĩnh vực
tooling

Hướng nghiên cứu

Start with the step 4 publish snippet in plugins/work-items/skills/decompose/SKILL.md, which combines a git rev-parse command substitution with a $(cat "$BODY_FILE") body argument, then read the create-item path in work-item-tracker.sh. Reproducing the refusal needs a worktree-isolated Claude Code session, and whether a --body-file option already exists is unconfirmed. Done means the documented publish runs from a worktree-isolated session without a wrapper, and the same check covers /work-items:track add.

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

Mô tả

priority: medium

Summary

/work-items:decompose step 4's publish snippet is refused in a worktree-isolated session, so a decompose run from a worktree cannot publish slices as written.

What happened

Publishing the approved breakdown for #6917 from a worktree-isolated session, every create-item call shaped like the step 4 snippet was refused by Claude Code's worktree isolation:

this command names git in a form too complex to verify that it stays inside the worktree. Refusing to run it

Both tracker paths (main checkout and worktree copy) were refused when the body was passed inline as --body "$(cat "$BODY_FILE")". The run only published after the agent moved the call into a wrapper script that runs the worktree's copy of work-item-tracker.sh. Nothing was created by the refused attempts.

Likely cause (inference, not yet reproduced in isolation)

The snippet in plugins/work-items/skills/decompose/SKILL.md step 4 combines:

  • a fallback TRACKER="${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel)}/...", which puts git inside a command substitution; and
  • --body "$(cat "$BODY_FILE")", another command substitution in the same invocation.

Claude Code documents that in an isolated worktree it "blocks a Bash or Monitor command when it can't verify from the command text that any git the command runs stays inside the worktree" (worktrees: how Claude Code enforces isolation). The tracker script itself runs gh/git, which the command-shape check cannot see through.

Fix direction

Give create-item a --body-file input (or document one if it exists) and split the snippet into plain commands with literal paths, so no git or command substitution appears in the publishing command. Same check for other skills that reuse this snippet (/work-items:track add).

Verification

  • A decompose publish from a worktree-isolated session succeeds with the documented snippet, no wrapper.
  • Related precedent: #5696, #6234 (other worktree-isolation refusals of our commands).

No related issue: found during the #6917 publish; not covered by #5696 or #6234.

Ngôn ngữ chính
Shell
Star
22
Fork
2
Merge trung bình
8 giờ 24 phút
Pull request đã merge (30 ngày)
947

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của melodic-software/claude-code-plugins

Tất cả issue của melodic-software/claude-code-plugins

Issue tương tự

Thêm issue về Shell/Bash

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.