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:
- Add
XHIGH = "xhigh" to the VALID_EFFORT_LEVELS enum between HIGH and MAX.
- 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.
- Verify
_resolve_effort_level() warning message still renders the full list correctly (it iterates the enum, so no code change needed there).
- Update any docs/README references to the supported effort levels and the new default.
Acceptance Criteria
References
Summary
askcc/settings.pydefinesVALID_EFFORT_LEVELSas{low, medium, high, max}, which is missing thexhighlevel introduced with Claude Opus 4.7. SettingASKCC_CLAUDE_EFFORT_LEVEL=xhighcurrently triggers the invalid-value warning and falls back to the default.Anthropic's authoritative list (docs):
lowmediumhighxhighmaxPer the docs,
xhighis 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:XHIGH = "xhigh"to theVALID_EFFORT_LEVELSenum betweenHIGHandMAX.DEFAULT_EFFORT_LEVELfromVALID_EFFORT_LEVELS.MAXtoVALID_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 ofmaxon structured tasks._resolve_effort_level()warning message still renders the full list correctly (it iterates the enum, so no code change needed there).Acceptance Criteria
VALID_EFFORT_LEVELSenum includesXHIGH = "xhigh".DEFAULT_EFFORT_LEVELresolves toVALID_EFFORT_LEVELS.XHIGHwhenASKCC_CLAUDE_EFFORT_LEVELis unset.ASKCC_CLAUDE_EFFORT_LEVEL=xhighresolves without the "Invalid ASKCC_CLAUDE_EFFORT_LEVEL" warning.xhighas a valid value and reflects the new default.References