affaan-m/ECC · error · ValueError

Unknown model: . Allowed

Error message

Unknown model: {model!r}. Allowed: {ALLOWED_MODELS}

What it means

Allowlist guard in run_scenario: the --model value is not in the ALLOWED_MODELS set, so the scenario runner refuses to launch claude -p with an untested model. The allowed values are echoed in the message.

Solutions

  1. Use one of the models listed in ALLOWED_MODELS (e.g. sonnet)
  2. Update ALLOWED_MODELS in the runner if a new model has been vetted
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at skills/skill-comply/scripts/runner.py:45 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of affaan-m/ECC@8321021c54 (2026-09-16). Data as JSON: /api/errors/a56ed43a57ae17b9. Report an issue: GitHub.

Appendix: source

Thrown at skills/skill-comply/scripts/runner.py:45

REPORT_VALUE_LIMIT = 5000


@dataclass(frozen=True)
class ScenarioRun:
    scenario: Scenario
    observations: tuple[ObservationEvent, ...]
    sandbox_dir: Path


def run_scenario(
    scenario: Scenario,
    model: str = "sonnet",
    max_turns: int = 30,
    timeout: int = 300,
) -> ScenarioRun:
    """Execute a scenario and extract tool calls from stream-json output."""
    if model not in ALLOWED_MODELS:
        raise ValueError(f"Unknown model: {model!r}. Allowed: {ALLOWED_MODELS}")

    sandbox_dir = _safe_sandbox_dir(scenario.id)
    _setup_sandbox(sandbox_dir, scenario)

    result = subprocess.run(
        [
            "claude", "-p", scenario.prompt,
            "--model", model,
            "--max-turns", str(max_turns),
            "--add-dir", str(sandbox_dir),
            "--allowedTools", "Read,Write,Edit,Bash,Glob,Grep",
            "--output-format", "stream-json",
            "--verbose",
        ],
        capture_output=True,
        text=True,
        timeout=timeout,
        cwd=sandbox_dir,

View on GitHub (pinned to 8321021c54)