diff options
| -rw-r--r-- | src/claude_config_install/cli.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/claude_config_install/cli.py b/src/claude_config_install/cli.py index a66c918..958469a 100644 --- a/src/claude_config_install/cli.py +++ b/src/claude_config_install/cli.py @@ -64,6 +64,15 @@ def main() -> None: action="store_true", help="Skip first-run dialogs (or CLAUDE_SKIP_ONBOARDING=1)", ) + parser.add_argument( + "--model", + help="Default model identifier (or CLAUDE_MODEL)", + ) + parser.add_argument( + "--effort", + choices=["low", "medium", "high"], + help="Effort level for supported models (or CLAUDE_EFFORT)", + ) args = parser.parse_args() @@ -72,8 +81,10 @@ def main() -> None: org_uuid = args.org_uuid or os.getenv("CLAUDE_ORG_UUID") theme = args.theme or os.getenv("CLAUDE_THEME") skip_onboarding = args.skip_onboarding or bool(os.getenv("CLAUDE_SKIP_ONBOARDING")) + model = args.model or os.getenv("CLAUDE_MODEL") + effort = args.effort or os.getenv("CLAUDE_EFFORT") - if not any([account_uuid, email, org_uuid, theme, skip_onboarding]): + if not any([account_uuid, email, org_uuid, theme, skip_onboarding, model, effort]): print("Warning: No configuration options provided", file=sys.stderr) sys.exit(0) @@ -114,6 +125,12 @@ def main() -> None: settings_config["colorScheme"] = theme claude_config["hasSelectedColorScheme"] = True + if model: + settings_config["model"] = model + + if effort: + settings_config["effortLevel"] = effort + try: save_json(args.claude_json, claude_config) save_json(args.settings_json, settings_config) |
