Remove CLI subprocess backend, pass disallowed_tools to SDK#59
Merged
RichardAtCT merged 2 commits intomainfrom Feb 20, 2026
Merged
Remove CLI subprocess backend, pass disallowed_tools to SDK#59RichardAtCT merged 2 commits intomainfrom
RichardAtCT merged 2 commits intomainfrom
Conversation
Delete the legacy CLI subprocess fallback (integration.py, parser.py) and simplify the facade to use SDK-only execution. Pass disallowed_tools natively to ClaudeAgentOptions instead of relying solely on runtime checks. - Delete src/claude/integration.py (594 lines) and parser.py (338 lines) - Delete tests/unit/test_claude/test_parser.py (127 lines) - Remove _execute_with_fallback, rename to _execute (SDK-only) - Remove process_manager param from ClaudeIntegration.__init__ - Remove use_sdk config flag from Settings - Remove _sdk_failed_count fallback tracker - Add disallowed_tools to ClaudeAgentOptions in sdk_integration.py - Update all imports to use sdk_integration instead of integration - Simplify session.py: remove CLI/SDK ClaudeResponse union type - Update __init__.py exports (remove ProcessManager, OutputParser) - Simplify main.py: remove use_sdk branching - Update docs: CLAUDE.md, configuration.md, setup.md, README.md - Mark Finding 3 and Finding 5 as COMPLETE in SDK_DUPLICATION_REVIEW.md Net reduction: ~1,350 lines removed across 22 files.
|
PR Review Summary
What looks good
Issues / questions
Suggested tests (if needed)
Verdict
|
…ols test - Remove misleading kill_all_processes() call from shutdown() and delete the no-op method from ClaudeSDKManager - Add test_disallowed_tools_passed_to_options to guard security policy propagation to the SDK - Update progress table PR reference in SDK_DUPLICATION_REVIEW.md
RichardAtCT
added a commit
that referenced
this pull request
Feb 20, 2026
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
integration.py594 lines,parser.py338 lines,test_parser.py127 lines)_execute_with_fallback→_execute(SDK-only), removeprocess_managerparam, remove_sdk_failed_countuse_sdkconfig flag — SDK is now the only backenddisallowed_toolsnatively toClaudeAgentOptions(Finding 5)src/andtests/fromintegration→sdk_integrationUSE_SDKconfig optionAddresses Finding 3 (Dual Backend) and Finding 5 (disallowed_tools) from
docs/SDK_DUPLICATION_REVIEW.md.Net reduction: ~1,350 lines across 22 files.
Test plan
poetry run pytest tests/ -v)integration.pyorparser.pyuse_sdkreferences insrc/ortests/disallowed_toolsconfirmed inClaudeAgentOptionsconstruction🤖 Generated with Claude Code