Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Geschlossen
#6,929 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Ein zugehöriger Pull Request wurde bereits gemerged.

  • #7090 von @kyle-sexton — gemerged

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
git, shell
Bereich
tooling

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
Shell
Sterne
22
Forks
2
Ø Merge
8 Std. 25 Min.
Gemergte PRs (30 T.)
944

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus melodic-software/claude-code-plugins

Alle Issues in melodic-software/claude-code-plugins

Ähnliche Issues

Weitere Issues zu Shell/Bash

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.