sqlmapproject/sqlmap · error · SqlmapSyntaxException

option '--safe-req' is incompatible with option…

Error message

option '--safe-req' is incompatible with option '--safe-url' and option '--safe-post'

What it means

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.

Solutions

  1. Keep only --safe-req and drop --safe-url/--safe-post
  2. Or keep --safe-url (plus optional --safe-post) and remove --safe-req
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at lib/core/option.py:2988 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of sqlmapproject/sqlmap@0a35b20e39 (2026-08-26). Data as JSON: /api/errors/0b7ede1dd9754d09. Report an issue: GitHub.

Appendix: source

Thrown at lib/core/option.py:2988

    if conf.forms and not any((conf.url, conf.googleDork, conf.bulkFile)):
        errMsg = "switch '--forms' requires usage of option '-u' ('--url'), '-g' or '-m'"
        raise SqlmapSyntaxException(errMsg)

    if conf.crawlExclude and not conf.crawlDepth:
        errMsg = "option '--crawl-exclude' requires usage of switch '--crawl'"
        raise SqlmapSyntaxException(errMsg)

    if conf.safePost and not conf.safeUrl:
        errMsg = "option '--safe-post' requires usage of option '--safe-url'"
        raise SqlmapSyntaxException(errMsg)

    if conf.safeFreq and not any((conf.safeUrl, conf.safeReqFile)):
        errMsg = "option '--safe-freq' requires usage of option '--safe-url' or '--safe-req'"
        raise SqlmapSyntaxException(errMsg)

    if conf.safeReqFile and any((conf.safeUrl, conf.safePost)):
        errMsg = "option '--safe-req' is incompatible with option '--safe-url' and option '--safe-post'"
        raise SqlmapSyntaxException(errMsg)

    if conf.csrfUrl and not conf.csrfToken:
        errMsg = "option '--csrf-url' requires usage of option '--csrf-token'"
        raise SqlmapSyntaxException(errMsg)

    if conf.csrfMethod and not conf.csrfToken:
        errMsg = "option '--csrf-method' requires usage of option '--csrf-token'"
        raise SqlmapSyntaxException(errMsg)

    if conf.csrfData and not conf.csrfToken:
        errMsg = "option '--csrf-data' requires usage of option '--csrf-token'"
        raise SqlmapSyntaxException(errMsg)

    if conf.csrfToken and conf.threads > 1:
        errMsg = "option '--csrf-token' is incompatible with option '--threads'"
        raise SqlmapSyntaxException(errMsg)

    if conf.requestFile and conf.url and conf.url != DUMMY_URL:

View on GitHub (pinned to 0a35b20e39)