Open
Conversation
Add two new config fields to ClaudeAgentConfig that get written to $CLAUDE_CONFIG_DIR/settings.json: - model (str | None): optionally set the model for any claude agent (e.g. "opus[1m]") - fast_mode (bool, default False): optionally enable fast mode For local hosts, these overrides are applied after syncing user resources (replacing symlinks with a regular file when needed). For remote hosts, they are injected into the generated settings.json. Also removes the hardcoded "fastMode": True from the workspace-level settings.json in the claude-mind provisioning, since fast_mode is now a configurable option on the agent config. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rrides Problem: The except clause at line 676 in _apply_settings_json_overrides silently caught both FileNotFoundError and json.JSONDecodeError. While FileNotFoundError is expected (settings file may not exist yet), JSONDecodeError means the existing file is corrupt and its contents are being silently discarded. Fix: Split the except clause so FileNotFoundError is handled silently (expected case) while JSONDecodeError logs a warning to inform the user that their corrupt settings file will be replaced with overrides only. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Problem: The new _apply_settings_json_overrides function and the new model/fast_mode parameters to _build_settings_json_content had no test coverage, risking silent regressions in per-agent model selection and fast mode configuration. Fix: Added 12 unit tests covering _build_settings_json_content (default behavior, model override, fast_mode override, both combined, interaction with local settings sync) and _apply_settings_json_overrides (no-op when no overrides, creating new files with model/fast_mode, merging with existing settings, replacing symlinks with regular files, handling corrupt JSON). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Problem: The new tests used FakeHost() directly where OnlineHostInterface was expected, causing type checker errors. Also had a trailing comment that violated the ratchet. Fix: Wrap FakeHost() calls with cast(OnlineHostInterface, ...) to match the pattern used elsewhere in the test file. Moved the trailing comment to its own line. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Automated PR created by Claude Code session.