Fix custom Claude-compatible backend isolation and execution-location popover crash#356
Open
morluto wants to merge 5 commits into
Open
Fix custom Claude-compatible backend isolation and execution-location popover crash#356morluto wants to merge 5 commits into
morluto wants to merge 5 commits into
Conversation
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
This fixes two Agent Mode issues found while validating a custom Claude-compatible backend configured with DeepSeek model mappings:
~/.claude/settings.jsonor project-local Claude config. That could cause Claude Code to initialize with a user-configured model instead of the model selected by RepoPrompt.No linked issue.
What changed
Custom Claude-compatible backend isolation
--bareand--setting-sources project,local.ANTHROPIC_MODEL-only changes as requiring native process restart.system/api_retryevents astask_progressso provider throttling is visible instead of a blankThinking…state.Execution-location popover crash
NSPopoveranimated resize path that matched the crash stack.Root cause
The custom backend configuration itself was valid. RepoPrompt passed the expected custom backend environment, but Claude Code also applied user global/local Claude settings, including model defaults in files such as
~/.claude/settings.jsonor project-local Claude config. Many users customize those settings for their normal Claude Code workflow. When those settings point at a different provider/model, they can override or conflict with RepoPrompt’s selected custom backend model, causing Claude Code to initialize with the user-configured model rather than the selected DeepSeek model.--barealone was not sufficient because Claude Code could still apply user settings env/model defaults. Adding--setting-sources project,localprevents user-level Claude settings from overriding RepoPrompt’s explicit custom backend launch environment.The popover crash matched AppKit/SwiftUI popover layout/resize frames, including
NSPopover _setContentView:size:canAnimate:andPopoverHostingView.updateAnimatedWindowSize. The popover content changed height when existing worktrees loaded asynchronously, so this removes that resize trigger.Validation
make dev-formatmake dev-lintmake dev-swift-build PRODUCT=RepoPromptmake dev-test FILTER=ClaudeNativeIdentityPreambleTestsmake dev-test FILTER=ClaudeNativeApprovalAndResumeTestsmake dev-test FILTER=testClaudeControllerLaunchSettingsIdentityIgnoresLiveModelAndEffortmake dev-provider-test FILTER=ClaudeCompatibleRuntimeSupportTestspytest Scripts/test_conductor_lifecycle.py -qbash -n Scripts/smoke_agent_execution_location_popover.shLive validation:
--setting-sources project,localand the init model was the selected DeepSeek model, not the globally configured Claude settings model.Review notes
This PR is split into three commits:
fix(agent-mode): isolate Claude-compatible backend launchestest(agent-mode): smoke execution-location popoverfix(agent-mode): address custom backend review feedbackReviewing commit-by-commit is recommended.