{"record":{"id":"956a541df76a19fe","repo":"SeleniumHQ/selenium","slug":"service-args-must-be-a-sequence-956a54","errorCode":null,"errorMessage":"service_args must be a sequence","messagePattern":"service_args must be a sequence","errorType":"exception","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"py/selenium/webdriver/safari/service.py","lineNumber":90,"sourceCode":"    @property\n    def reuse_service(self) -> bool:\n        return self._reuse_service\n\n    @reuse_service.setter\n    def reuse_service(self, reuse: bool) -> None:\n        if not isinstance(reuse, bool):\n            raise TypeError(\"reuse must be a boolean\")\n        self._reuse_service = reuse\n\n    @property\n    def service_args(self) -> Sequence[str]:\n        \"\"\"Returns the sequence of service arguments.\"\"\"\n        return self._service_args\n\n    @service_args.setter\n    def service_args(self, value: Sequence[str]):\n        if isinstance(value, str) or not isinstance(value, Sequence):\n            raise TypeError(\"service_args must be a sequence\")\n        self._service_args = list(value)\n","sourceCodeStart":72,"sourceCodeEnd":92,"githubUrl":"https://github.com/SeleniumHQ/selenium/blob/aa36b38e696a0909e973bdf5e2f9031ffe842c4b/py/selenium/webdriver/safari/service.py#L72-L92","documentation":"Service.service_args setter rejects a bare str (because a string is technically a Sequence of chars) and any non-sequence; it requires a list/tuple of argument strings and stores a list copy.","triggerScenarios":"service.service_args = '--port=1234' (a single string) instead of ['--port=1234'], or assigning an int/None.","commonSituations":"Passing a single CLI flag as a string by habit, or joining multiple args with spaces into one string.","solutions":["Pass a list: service_args=['--port=1234', '--verbose'].","When building from config, ensure the value is a list before assignment."],"exampleFix":"# before\nservice.service_args = \"--port=1234 --verbose\"\n\n# after\nservice.service_args = [\"--port=1234\", \"--verbose\"]","handlingStrategy":"type-guard","validationCode":null,"typeGuard":"from collections.abc import Sequence\ndef is_arg_list(v) -> bool:\n    return not isinstance(v, (str, bytes)) and isinstance(v, Sequence)","tryCatchPattern":null,"preventionTips":["Always pass CLI args as a list/tuple of separate flag strings.","Never pass a space-joined string of flags."],"tags":["safari","service","type-validation","cli-args"],"backgroundTag":null,"analyzedSha":"aa36b38e696a0909e973bdf5e2f9031ffe842c4b","analyzedAt":"2026-08-14T02:32:32.244Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}