aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/claude_config_install/cli.py19
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)