{"record":{"id":"0b7ede1dd9754d09","repo":"sqlmapproject/sqlmap","slug":"option-safe-req-is-incompatible-with-option","errorCode":null,"errorMessage":"option '--safe-req' is incompatible with option '--safe-url' and option '--safe-post'","messagePattern":"option '--safe-req' is incompatible with option '--safe-url' and option '--safe-post'","errorType":"exception","errorClass":"SqlmapSyntaxException","httpStatus":null,"severity":"error","filePath":"lib/core/option.py","lineNumber":2988,"sourceCode":"    if conf.forms and not any((conf.url, conf.googleDork, conf.bulkFile)):\n        errMsg = \"switch '--forms' requires usage of option '-u' ('--url'), '-g' or '-m'\"\n        raise SqlmapSyntaxException(errMsg)\n\n    if conf.crawlExclude and not conf.crawlDepth:\n        errMsg = \"option '--crawl-exclude' requires usage of switch '--crawl'\"\n        raise SqlmapSyntaxException(errMsg)\n\n    if conf.safePost and not conf.safeUrl:\n        errMsg = \"option '--safe-post' requires usage of option '--safe-url'\"\n        raise SqlmapSyntaxException(errMsg)\n\n    if conf.safeFreq and not any((conf.safeUrl, conf.safeReqFile)):\n        errMsg = \"option '--safe-freq' requires usage of option '--safe-url' or '--safe-req'\"\n        raise SqlmapSyntaxException(errMsg)\n\n    if conf.safeReqFile and any((conf.safeUrl, conf.safePost)):\n        errMsg = \"option '--safe-req' is incompatible with option '--safe-url' and option '--safe-post'\"\n        raise SqlmapSyntaxException(errMsg)\n\n    if conf.csrfUrl and not conf.csrfToken:\n        errMsg = \"option '--csrf-url' requires usage of option '--csrf-token'\"\n        raise SqlmapSyntaxException(errMsg)\n\n    if conf.csrfMethod and not conf.csrfToken:\n        errMsg = \"option '--csrf-method' requires usage of option '--csrf-token'\"\n        raise SqlmapSyntaxException(errMsg)\n\n    if conf.csrfData and not conf.csrfToken:\n        errMsg = \"option '--csrf-data' requires usage of option '--csrf-token'\"\n        raise SqlmapSyntaxException(errMsg)\n\n    if conf.csrfToken and conf.threads > 1:\n        errMsg = \"option '--csrf-token' is incompatible with option '--threads'\"\n        raise SqlmapSyntaxException(errMsg)\n\n    if conf.requestFile and conf.url and conf.url != DUMMY_URL:","sourceCodeStart":2970,"sourceCodeEnd":3006,"githubUrl":"https://github.com/sqlmapproject/sqlmap/blob/0a35b20e3953d341be6c7ac75ccb0b3362540c8d/lib/core/option.py#L2970-L3006","documentation":"Startup mutual-exclusivity guard in _basicOptionValidation: --safe-req supplies the complete safe request as a file, so combining it with --safe-url or --safe-post (which build the safe request from parts) is contradictory. Fires when conf.safeReqFile is set together with conf.safeUrl or conf.safePost.","triggerScenarios":"Thrown at lib/core/option.py:2988 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Keep only --safe-req and drop --safe-url/--safe-post","Or keep --safe-url (plus optional --safe-post) and remove --safe-req"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0a35b20e3953d341be6c7ac75ccb0b3362540c8d","analyzedAt":"2026-08-26T23:02:52.002Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}