sqlmapproject/sqlmap · error · SqlmapSyntaxException

option '-r' is incompatible with option '-u' ('--url')

Error message

option '-r' is incompatible with option '-u' ('--url')

What it means

Startup mutual-exclusivity guard in _basicOptionValidation: -r/--request-file (conf.requestFile) replays a stored raw request, so also giving -u/--url (conf.url) is contradictory unless the URL is the internal DUMMY_URL placeholder used by sqlmap's own tooling. Fires when both are set and conf.url differs from DUMMY_URL.

Solutions

  1. Remove -u/--url; the request file already contains the target
  2. Remove -r and pass target options via -u/--url instead
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at lib/core/option.py:3008 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/5d683fcfbfc7e85e. Report an issue: GitHub.

Appendix: source

Thrown at lib/core/option.py:3008

    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:
        errMsg = "option '-r' is incompatible with option '-u' ('--url')"
        raise SqlmapSyntaxException(errMsg)

    if conf.direct and conf.proxy:
        errMsg = "option '-d' is incompatible with option '--proxy'"
        raise SqlmapSyntaxException(errMsg)

    if conf.direct and conf.tor:
        errMsg = "option '-d' is incompatible with switch '--tor'"
        raise SqlmapSyntaxException(errMsg)

    if not conf.technique:
        errMsg = "option '--technique' can't be empty"
        raise SqlmapSyntaxException(errMsg)

    if conf.tor and conf.ignoreProxy:
        errMsg = "switch '--tor' is incompatible with switch '--ignore-proxy'"
        raise SqlmapSyntaxException(errMsg)

    if conf.tor and conf.proxy:

View on GitHub (pinned to 0a35b20e39)