Repository navigation
refactor: move approval to auto mode; stop only at session completion - #228
Merged
Merged
Conversation
Approval now lives in Claude Code auto-mode config (managed settings), so the first-token Bash classifier, its Copilot variant, tests, marketplace entries and sync.sh manifest line are removed. - delete plugins-claude/permission-manager and plugins-copilot/permission-manager - delete tests/permission-manager and the test-permission-manager command - drop both marketplace.json entries and the command-permissions .gitignore negation - drop the 'Permission-manager users' note from the elevated-edit skill Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EgYQhRvtxUaYZ1WcRpNg9R
The PreToolUse hook that auto-approved a plugin's own scripts (and, until now, asked before `gh|tea pr create|merge`) is redundant under auto mode, and the PR guard matched command text anywhere, so a grep or sed mentioning `pr merge` prompted too. - delete utils/approve-own-scripts.sh, all vendored copies and its tests - delete the hooks.json files that only invoked it (Claude and Copilot) - keep real hooks (format-on-save, notify-on-stop, statusline) and fix their descriptions - remove hook_ask/hook_allow/hook_deny from hook-compat.sh and stop vendoring it into plugins that no longer source it (only format-on-save and notify-on-stop keep it) - drop the 'Script auto-approval' check from validate-plugins.sh and the matching NEEDS tokens in sync.sh - drop the 'Hook auto-approval' section from the jar-explore skill - patch-bump the affected plugins (Claude and Copilot plugin.json) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EgYQhRvtxUaYZ1WcRpNg9R
…mplete Plan approval now authorizes the entire stated Scope through merge instead of stopping after every unit. The one deliberate stop moves to the end of session-end: confirm with the user before the session is called complete. - session: plans end with a Scope: line; spine Phase 4 reports, ships units before the last via ship, then hands the last unit to session-end, which ships it once and confirms completion; start/issue/orchestrate and the Copilot mirrors follow - git-tools ship: drop the explicit-approval merge gate (Gitea merges first, then waits; GitHub waits only if a bot will merge), cap fix-forward at two attempts, define 'own PR branch' for --force-with-lease - kb-capture, history-analyze, freecad live: remove routine confirm prompts Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EgYQhRvtxUaYZ1WcRpNg9R
Drop permission-manager and approve-own-scripts from the plugin table, tree, install examples, shared-scripts list and validation notes, and refresh the sync.sh examples. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EgYQhRvtxUaYZ1WcRpNg9R
2 of 3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Moves approval out of plugin machinery and into Claude Code auto mode, and makes the session/ship flow stop only to confirm that a whole session is complete, not after every PR.
Four commits, grouped by theme:
approve-own-scriptsand unused hook helpers. That PreToolUse hook auto-approved plugin scripts and also asked beforegh|tea pr create|merge. It matched command text anywhere, so agrep/sedmentioningpr mergeprompted too, and hooks'askoutranks allow rules, so nothing in settings could override it. Real hooks (format-on-save, notify-on-stop, statusline) are kept. Includes the plugin patch bumps.Scope:through merge; the one deliberate stop is session-end's "confirm before we call this entire session complete".shipno longer waits for merge approval (Gitea merges first, then waits; GitHub waits only if a bot will merge), caps fix-forward at two attempts, and defines "own PR branch" for--force-with-lease.Force push,
--no-verify, hook/CI bypass, release creation, and the destructive homelab ops are now gated by auto-modesoft_denyprose in the managed settings (outside this repo), unlockable by naming the exact action.Notes for review
sync.sh --check/CI; the PR head is. Merge-commit merge keeps the grouping visible viagit log --first-parent.session-issuewith exactly one open issue now proceeds without a confirmation prompt.Test plan
bash .github/scripts/validate-all.sh(ci parity, plugin tests, structure, frontmatter, markdown lint, shell lint) passesutils/sync.sh --checkshows no driftpermission-manager,approve-own-scripts,hook_ask/hook_deny/hook_allowgh pr create/gh pr mergeandgrep 'pr merge'no longer prompt🤖 Generated with Claude Code
https://claude.ai/code/session_01EgYQhRvtxUaYZ1WcRpNg9R