Why docker-compose pull returns zero status code if no image is found on server?

So I have an app in which I use a docker compose setup with a base image,

services:
  base:
    image: "${REPO}:base-${BASE_TAG}"
    build:
      context: .
      network: host
      dockerfile: docker/Dockerfile.base
      args:
          CI: $CI

when I do

$ docker-compose pull base
WARNING: The CI variable is not set. Defaulting to a blank string.
$ echo $?
0

But when I assemble docker image name myself and pull it with docker, it clearly fails:

$ docker pull  $REPO:base-$BASE_TAG
Error response from daemon: manifest for <repo>:880407b2b09f2ead1366571f332067364b8fabf9 not found: manifest unknown: manifest unknown
$ echo $?
1

So my question is why compose is suppressing the error?