Skip to content

✨ Add --model CLI flag and ASKCC_CLAUDE_MODEL env var (closes #110)#111

Merged
monkut merged 1 commit into
mainfrom
feature/110-add-model-cli-flag
May 18, 2026
Merged

✨ Add --model CLI flag and ASKCC_CLAUDE_MODEL env var (closes #110)#111
monkut merged 1 commit into
mainfrom
feature/110-add-model-cli-flag

Conversation

@monkut

@monkut monkut commented May 16, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds the --model CLI flag and ASKCC_CLAUDE_MODEL env var, completing the precedence chain symmetry started in ✨ Add subagent frontmatter to agent action definitions #84
  • New _resolve_model helper in askcc/cli.py mirrors _resolve_effort: CLI > env > frontmatter > unset (returns None, no flag emitted)
  • Runner.run gains a model: str | None kwarg; _frontmatter_cli_flags accepts an override and falls back to config.model

Behavior

  • askcc --model sonnet develop <url> overrides model: opus in DEVELOP_SYSTEM_PROMPT.md
  • ASKCC_CLAUDE_MODEL=sonnet askcc develop <url> does the same when no --model flag is set
  • --model opuz rejected by argparse (exit 2); ASKCC_CLAUDE_MODEL=opuz logs a warning and falls through
  • Unset everywhere → no --model flag emitted, claude picks its own default (unchanged behavior)

Tests

  • TestModelPrecedence — CLI > env > frontmatter > unset (None propagates)
  • TestModelCLIFlags — CLI flag and env var both reach runner.run(model=...); invalid CLI value rejected by argparse
  • TestResolveModel — unit tests for the helper including warn-and-ignore on invalid env var
  • TestRunnerFrontmatterFlags extensions — runner-level override and config fallback

Test plan

  • uv run pytest — 272 passed
  • uv run ruff check — all checks passed
  • uv run pyright — 0 errors

Closes #110

Mirrors the existing --effort precedence chain for model. The CLI resolves
precedence (CLI > env > frontmatter > unset), the runner consumes the resolved
value. Unset everywhere returns None and no --model flag is emitted, preserving
today's behavior for templates without a model field.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: add --model CLI flag and ASKCC_CLAUDE_MODEL env var to override per-action frontmatter

1 participant