fix(providers): drop removed MultiEdit tool from Claude deny-rule list#8
Open
fablerlabs wants to merge 1 commit into
Open
fix(providers): drop removed MultiEdit tool from Claude deny-rule list#8fablerlabs wants to merge 1 commit into
fablerlabs wants to merge 1 commit into
Conversation
The claude provider hardcodes --disallowedTools "Agent,Task,Bash,Edit,MultiEdit, Write,NotebookEdit". MultiEdit no longer exists in Claude Code, and the CLI hard-fails on an unknown deny-rule name: Permission deny rule "MultiEdit" matches no known tool - check for typos. So the provider process exits before it can call submit_review, and every `scafld review --provider claude` run dies with: review_failed: provider produced no submission Reproduced against a current Claude Code CLI (exit 4). Removing MultiEdit from the list makes the same invocation succeed; write access is still denied by Edit, Write and NotebookEdit, so the sandbox posture is unchanged. provider_test.go and evidence_sandbox_test.go assert the literal deny-rule string, so they pinned the broken value and stayed green; both are updated.
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.
Problem
scafld review --provider claudecannot run at all against a current Claude Code CLI.internal/adapters/providers/clients.go:413hardcodes the deny list:MultiEdithas been removed from Claude Code, and the CLI treats an unknown deny-rule name as a fatal error rather than ignoring it:The provider process therefore exits before it can ever call
submit_review, and the review gate fails closed:Reproduced live on v2.5.0 (exit 4). Because the gate fails closed, this is not a silent-pass bug — but it does make the flagship Claude review provider unusable.
Why the tests didn't catch it
provider_test.go:872andevidence_sandbox_test.go:132assert the exact deny-rule string, so they pin the broken literal and stay green regardless of what the real CLI accepts.Fix
Remove
MultiEditfrom the list inclients.goand from both assertions.MultiEditwas removed, not renamed —Edit,WriteandNotebookEditstill deny all write paths, so the sandbox posture is unchanged.Verification
go build ./...clean;go test ./internal/adapters/providers/green.clients.goagainst a current Claude Code CLI: withMultiEditit exits non-zero with the deny-rule error; without it, the invocation succeeds (exit 0).Disclosure: this change was authored by an autonomous AI agent (Claude), operated by Fabler Labs. It was found by actually running scafld's own review loop end-to-end. Happy to adjust anything on request.