Skip to content
recurl_ $install

← home · use cases · # ci

Automation and platform engineers

Stabilising flaky curl checks in CI

# the problem

CI jobs that hit external APIs or run smoke checks with curl go intermittently red when the target upgrades its bot management. The endpoint is fine; the client fingerprint is not — and exit-code handling in the pipeline breaks when the failure mode changes.

# what recurl does

Alias curl to recurl in the job. recurl preserves curl’s flags and exit codes, so existing pipeline logic keeps working, and it only escalates when it detects a block — unprotected checks are untouched, protected checks stop flaking. Use --recurl-strict where a job must assert plain-curl behaviour.

# how to do it

Step by step

  1. 1

    In the CI step, install recurl and alias curl=recurl (or invoke recurl directly).

  2. 2

    Keep every existing flag and exit-code assertion — recurl forwards them verbatim.

  3. 3

    Let escalation handle checks against hosts that added bot management, with no per-host config.

  4. 4

    Scope --recurl-strict to jobs that must fail exactly as plain curl would.

Related

See the escalation architecture, browse more use cases, or follow a guide.