Issue: duplicated terminal support code #121
Replies: 2 comments 7 replies
|
thx, but this is a deliberate design decision, not a bug. Claude Code skills are supposed to be self-contained — unifying scripts across skills doesn't work reliably, at minimum you hit permission prompts on every invocation, and it also raises the question of how a skill with a "common" external dependency gets distributed and updated. Same story for the codex skill and the revdiff-planning plugin — each needs to stand on its own. In practice what we have works well enough. Agents are aware of the duplication and CLAUDE.md has explicit instructions for keeping the copies in sync when terminal support changes. Not ideal, but the alternatives are worse. Also per CONTRIBUTING.md, general ideas and brainstorming belong in Discussions, not Issues. Moving this to Discussions — pls continue there if you want to explore a concrete shape. |
|
Shipped in #126 (revdiff plugin The chain ended up two layers ( To customize the plan-review launcher (e.g. open in a separate kitty window instead of an overlay): mkdir -p "${CLAUDE_PLUGIN_DATA}/scripts"
cp "${CLAUDE_PLUGIN_ROOT}/scripts/launch-plan-review.sh" "${CLAUDE_PLUGIN_DATA}/scripts/launch-plan-review.sh"
chmod +x "${CLAUDE_PLUGIN_DATA}/scripts/launch-plan-review.sh"
# edit "${CLAUDE_PLUGIN_DATA}/scripts/launch-plan-review.sh" to tasteSame pattern for the diff-review skill: replace Override file must be executable. A non-executable file in the user layer is treated as absent and the resolver falls through to the bundled default. Full details in The separate plan-review hook gap ( |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
When Claude Code executes a child process it does so without allocating a PTY which
revdiff, being an interactive program, requires.There are workarounds for this issue that use a custom per-terminal approach to create a new pane or overlay and launch
revdiffin a new environment. The issue is that there are many places that startrevdiffand per-terminal workarounds have to be updated manually every time a new terminal support is implemented:.claude-plugin/skills/revdiff/scripts/launch-revdiff.sh|plugins/codex/skills/revdiff/scripts/launch-revdiff.sh|plugins/revdiff-planning/scripts/launch-plan-review.sh|cc-thingzplanning pluginAll reactions