## TL;DR

The fix was backend-side, so updating the CLI alone (1.29.3) did not help. What actually fixes it (verified in the thread): Update your self-hosted backend , Convex shipped a new backend release that resolves this; both reporters confirmed deploys succeed against the updated backend.

## Steps

1. With `convex` 1.29.2 (and 1.29.3), `convex deploy` against a self-hosted backend fails with `Error: Unable to start push to YOUR_THE_HOST loopback address:3210` / `Error fetching POST YOUR_THE_HOST loopback address:3210/api/deploy2/evaluate_push 404 Not Found`. The identical command works with 1.29.1.

2. What actually fixes it (verified in the thread):

3. Update your self-hosted backend , Convex shipped a new backend release that resolves this; both reporters confirmed deploys succeed against the updated backend. The fix was backend-side, so updating the CLI alone (1.29.3) did not help. Immediate workaround: pin `convex` to 1.29.1. Source: https://github.com/get-convex/convex-js/issues/105

## When to use

You are seeing this: The situation: With convex 1.29.2 (and 1.29.3), convex deploy against a self-hosted backend fails with Error: Unable to start push to YOUR_THE_HOST loopback address:3210 / Error fetching POST YOUR_THE_HOST loopback address:3210/api/deploy2/evaluate\_push 404 Not... Use this skill when you run into "convex deploy fails on 1.29.2/1.29.3 with 404 on /api/deploy2/evaluate_push (self-hosted backend)".

## When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

## Versions

Versions mentioned in the source: convex 1.29.2, 1.29.3, 1.29.1. If you are on something much newer or older, the details may have shifted.

## Why this happens

The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.

## Sources

- YOUR_THE_HOST

- https://github.com/get-convex/convex-js/issues/105
