{"record":{"id":"75ea5934e191964d","repo":"chroma-core/chroma","slug":"regex-requires-a-string-pattern-got-type-value","errorCode":null,"errorMessage":"$regex requires a string pattern, got {type(value).__name__}","messagePattern":"\\$regex requires a string pattern, got (.+?)","errorType":"exception","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"chromadb/execution/expression/operator.py","lineNumber":201,"sourceCode":"                        raise TypeError(\n                            f\"$nin requires a list, got {type(value).__name__}\"\n                        )\n                    return Key(field).not_in(value)\n                elif op == \"$contains\":\n                    if not isinstance(value, (str, int, float, bool)):\n                        raise TypeError(\n                            f\"$contains requires a str, int, float, or bool, got {type(value).__name__}\"\n                        )\n                    return Key(field).contains(value)\n                elif op == \"$not_contains\":\n                    if not isinstance(value, (str, int, float, bool)):\n                        raise TypeError(\n                            f\"$not_contains requires a str, int, float, or bool, got {type(value).__name__}\"\n                        )\n                    return Key(field).not_contains(value)\n                elif op == \"$regex\":\n                    if not isinstance(value, str):\n                        raise TypeError(\n                            f\"$regex requires a string pattern, got {type(value).__name__}\"\n                        )\n                    return Key(field).regex(value)\n                elif op == \"$not_regex\":\n                    if not isinstance(value, str):\n                        raise TypeError(\n                            f\"$not_regex requires a string pattern, got {type(value).__name__}\"\n                        )\n                    return Key(field).not_regex(value)\n                else:\n                    raise ValueError(f\"Unknown operator: {op}\")\n            else:\n                # Direct value is shorthand for equality\n                return Key(field) == condition\n\n    def __and__(self, other: \"Where\") -> \"And\":\n        \"\"\"Overload & operator for AND\"\"\"\n        # If self is already an And, extend it","sourceCodeStart":183,"sourceCodeEnd":219,"githubUrl":"https://github.com/chroma-core/chroma/blob/aecdd12c8a891610db8653630b066b32ceb678b5/chromadb/execution/expression/operator.py#L183-L219","documentation":"Error \"$regex requires a string pattern, got {type(value).__name__}\" thrown in chroma-core/chroma.","triggerScenarios":"Thrown at chromadb/execution/expression/operator.py:201 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"aecdd12c8a891610db8653630b066b32ceb678b5","analyzedAt":"2026-08-16T21:53:27.228Z","schemaVersion":2},"datasetVersion":"2026-08-16T23:17:17.608Z"}