{"record":{"id":"f9d5088f97a2d955","repo":"unslothai/unsloth","slug":"llama-server-flag-flag-requires-an-integer-val","errorCode":null,"errorMessage":"llama-server flag '{flag}' requires an integer value","messagePattern":"llama-server flag '(.+?)' requires an integer value","errorType":"validation","errorClass":"ValueError","httpStatus":400,"severity":"error","filePath":"studio/backend/core/inference/llama_server_args.py","lineNumber":665,"sourceCode":"    if not args:\n        return None\n\n    tokens = [str(a) for a in args]\n    override: Optional[int] = None\n    i, n = 0, len(tokens)\n    while i < n:\n        tok = tokens[i]\n        flag = _flag_name(tok)\n        if flag is None or flag not in _CONTEXT_FLAGS:\n            i += 1\n            continue\n\n        if \"=\" in tok:\n            raw_value = tok.split(\"=\", 1)[1]\n            i += 1\n        else:\n            if i + 1 >= n or _flag_name(tokens[i + 1]) is not None:\n                raise ValueError(f\"llama-server flag '{flag}' requires an integer value\")\n            raw_value = tokens[i + 1]\n            i += 2\n\n        try:\n            value = int(str(raw_value).strip())\n        except ValueError as exc:\n            raise ValueError(f\"llama-server flag '{flag}' requires an integer value\") from exc\n        if value < 0:\n            raise ValueError(f\"llama-server flag '{flag}' requires a non-negative integer value\")\n        override = value\n\n    return override\n\n\ndef resolve_requested_ctx(args: Optional[Iterable[str]], fallback_n_ctx: int) -> int:\n    \"\"\"Return the context size load_model should treat as requested.\n\n    Single source of truth for load_model's ctx-override conditional so","sourceCodeStart":647,"sourceCodeEnd":683,"githubUrl":"https://github.com/unslothai/unsloth/blob/203007d19051dcd2ae33876786d117c99f6b0368/studio/backend/core/inference/llama_server_args.py#L647-L683","documentation":"ValueError from the context-flag override parser (llama_server_args.py:665, feeding resolve/parse of _CONTEXT_FLAGS like --ctx-size/-c): a context flag's value token is missing or not consumable — the next token after the flag is itself flag-shaped (_flag_name(tokens[i+1]) is not None) or the flag is the last token in the list, so no integer value can be read. Note '=' spelling takes the attached part and skips this branch; this raise is specifically the two-token form gone wrong.","triggerScenarios":"Passing '--ctx-size' as the last token, or '--ctx-size --flash-attn ...' where a flag immediately follows: the parser expects a bare value token next and finds none. Also '--ctx-size -1' — '-1' is flag-shaped to _flag_name, so it is rejected here rather than parsed.","commonSituations":"Hand-editing drops the value; a negative number written as a separate token (use '--ctx-size=-1' spelling or an unsigned value); ordering bugs in generated arg lists putting the flag's value before the flag.","solutions":["Put the integer right after the flag: '--ctx-size 4096'.","For values that look like flags (negative numbers), use the attached form '--ctx-size=-1' — but note the separate non-negative check rejects negatives anyway, so pass unsigned values.","If the flag is unwanted, delete both the flag and its value rather than just the value."],"exampleFix":"# before\nextra_args = [\"--ctx-size\", \"--flash-attn\", \"on\"]\n\n# after\nextra_args = [\"--ctx-size\", \"4096\", \"--flash-attn\", \"on\"]","handlingStrategy":"validation","validationCode":"def context_flag_has_value(tokens):\n    for i, t in enumerate(tokens):\n        if _flag_name(t) in _CONTEXT_FLAGS and '=' not in t:\n            if i + 1 >= len(tokens) or _flag_name(tokens[i+1]) is not None:\n                return False\n    return True","typeGuard":"def ctx_value_well_formed(tokens) -> bool:\n    return context_flag_has_value(tokens)","tryCatchPattern":"try:\n    validate_extra_args(args)\nexcept ValueError as e:\n    if \"requires an integer value\" in str(e):\n        raise HTTPException(400, \"context flag needs a plain integer value token\")\n    raise","preventionTips":["Always place the integer immediately after the context flag.","Never let a flag or flag-like token (including negative numbers) follow a value-expecting flag.","Delete flag+value together when removing a context override.","Prefer '--ctx-size 4096' two-token form with an unsigned integer."],"tags":["llama-server","validation","ctx-size","flag-parsing","configuration"],"backgroundTag":null,"analyzedSha":"203007d19051dcd2ae33876786d117c99f6b0368","analyzedAt":"2026-08-15T02:48:39.846Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}