Skip to content

Add 'xhigh' to VALID_EFFORT_LEVELS (Opus 4.7 effort value) #81

Description

@ellen-goc

Summary

askcc/settings.py defines VALID_EFFORT_LEVELS as {low, medium, high, max}, which is missing the xhigh level introduced with Claude Opus 4.7. Setting ASKCC_CLAUDE_EFFORT_LEVEL=xhigh currently triggers the invalid-value warning and falls back to the default.

Anthropic's authoritative list (docs):

Value Availability
low all supported models
medium all supported models
high all supported models (API default)
xhigh Opus 4.7 only — missing from askcc-cli
max Mythos Preview, Opus 4.7, Opus 4.6, Sonnet 4.6

Per the docs, xhigh is the recommended starting point for coding and agentic work on Opus 4.7, so askcc-cli should both support it and default to it.

Proposed Approach

In askcc/settings.py:

  1. Add XHIGH = "xhigh" to the VALID_EFFORT_LEVELS enum between HIGH and MAX.
  2. Change DEFAULT_EFFORT_LEVEL from VALID_EFFORT_LEVELS.MAX to VALID_EFFORT_LEVELS.XHIGH — aligns askcc-cli's default with Anthropic's recommended starting point for coding/agentic work on Opus 4.7 and avoids the "overthinking" / high-cost profile of max on structured tasks.
  3. Verify _resolve_effort_level() warning message still renders the full list correctly (it iterates the enum, so no code change needed there).
  4. Update any docs/README references to the supported effort levels and the new default.

Acceptance Criteria

  • VALID_EFFORT_LEVELS enum includes XHIGH = "xhigh".
  • DEFAULT_EFFORT_LEVEL resolves to VALID_EFFORT_LEVELS.XHIGH when ASKCC_CLAUDE_EFFORT_LEVEL is unset.
  • ASKCC_CLAUDE_EFFORT_LEVEL=xhigh resolves without the "Invalid ASKCC_CLAUDE_EFFORT_LEVEL" warning.
  • Unit test covers the new value and the new default.
  • README / env-var documentation lists xhigh as a valid value and reflects the new default.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions