Skip to content
Latchkey

Octopus "Failed to push package" in CI

octo push could not complete the upload to the Octopus built-in feed. The umbrella message wraps a more specific cause underneath: rejected credentials, a duplicate version, a package that exceeds the server limit, or a dropped connection mid-upload.

What this error means

octo push ends with "Failed to push package" and an inner reason such as a 401, a 409 duplicate, a 413 size error, or a connection reset.

octo
Pushing package Web.1.0.0.zip to the built-in feed...
Octopus.Client.Exceptions.OctopusException: Failed to push package Web.1.0.0.zip.

Common causes

An auth or duplicate rejection underneath

The push wraps a 401 (bad key) or 409 (version already exists); the inner status tells you which. These are deterministic and will not clear on retry.

A size limit or a transient upload drop

A large package can exceed the server upload limit (HTTP 413), or the connection can reset mid-transfer, which a single retry often clears.

How to fix it

Read the inner status and fix the specific cause

  1. Look at the wrapped status code beneath "Failed to push package".
  2. For 401, fix the API key; for 409, bump the version or use --overwrite-mode.
  3. For 413, reduce package size or raise the server upload limit.

Retry a transient upload failure

If the inner cause is a dropped connection rather than a status error, re-run the push so the transfer completes.

Terminal
octo push --package "Web.1.0.0.zip" --server "$OCTOPUS_URL" \
  --apiKey "$OCTOPUS_API_KEY"

How to prevent it

  • Push unique versions so duplicates never trigger the failure.
  • Keep packages within the server upload size limit.
  • Store a valid API key so auth never causes the push to fail.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →