Skip to content
Latchkey

Leiningen "Could not transfer artifact" from clojars in CI

Leiningen found the coordinate but the transfer itself failed. Unlike "could not find artifact", this is a connectivity, TLS, or proxy problem between the runner and the Maven repository, not a missing dependency.

What this error means

Dependency resolution fails with "Could not transfer artifact GROUP:ARTIFACT from/to clojars" followed by a connection reset, timeout, or PKIX certificate error.

lein
Could not transfer artifact org.clojure/clojure:pom:1.11.1 from/to clojars
(https://repo.clojars.org/): Connection reset
Failed to read artifact descriptor for org.clojure/clojure:jar:1.11.1

Common causes

Transient network failure to the repository

A dropped connection, DNS blip, or momentary clojars slowness interrupts the transfer mid-download.

A proxy or TLS interception between runner and repo

A corporate proxy or missing CA breaks the HTTPS transfer, surfacing as a connection reset or PKIX path error.

How to fix it

Retry the resolution

Most transfer failures are transient. Re-run dependency resolution, ideally with a warmed ~/.m2 cache so only the missing artifacts are fetched.

Terminal
lein deps || lein deps

Configure the proxy or CA the runner needs

Route Leiningen through the proxy and trust the corporate CA so the HTTPS transfer completes.

Terminal
export JAVA_TOOL_OPTIONS="-Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=8080"
export HTTP_CLIENT_OPTS="-Djavax.net.ssl.trustStore=/etc/ssl/corp.jks"

How to prevent it

  • Cache ~/.m2/repository across CI runs to shrink the transfer surface.
  • Trust the corporate CA in the runner keystore instead of disabling TLS.
  • Point CI at a reliable Maven mirror when clojars is congested.

Frequently asked questions

What causes ""Could not transfer artifact""?
A dropped connection, DNS blip, or momentary clojars slowness interrupts the transfer mid-download.
How do I fix "Could not transfer artifact"?
Most transfer failures are transient. Re-run dependency resolution, ideally with a warmed ~/.m2 cache so only the missing artifacts are fetched.

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card