Active specific runner not working jobs. start,stop,status result in error. (MacOs)

I have a specific Runner registered on my home machine (mac os). It’s active but not working jobs in the pipeline. Interestingly, I ran this workflow last week and it seemed to work fine but not working now. However, I can’t promised I didn’t accidentally tweak something about the registration since then.


  • Settings->CICD->Runners shows the runner is active. However, it did not start activated. Originally was paused upon registration. Had to run gitlab-runner verify and then it showed as active.

  • Jobs in the pipeline are stuck on pending

  • Have tried removing and reregistering multiple times

  • Trying to run gitlab-runner start/stop/status results in errors.

  • start and stop give the same error:

$ sudo gitlab-runner start
Runtime platform                                    arch=amd64 os=darwin pid=72414 revision=66039dd9 version=15.8.0
FATAL: Failed to start gitlab-runner: "launchctl" failed with stderr: /Library/LaunchDaemons/gitlab-runner.plist: No such file or directory
Load failed: 2: No such file or directory
  • status:
$ sudo gitlab-runner status
Runtime platform                                    arch=amd64 os=darwin pid=72442 revision=66039dd9 version=15.8.0
gitlab-runner: "launchctl" failed with stderr: Could not find service "gitlab-runner" in domain for system
  • Using sample yml:
stages:          # List of stages for jobs, and their order of execution
  - build
  - test
  - deploy

build-job:       # This job runs in the build stage, which runs first.
  stage: build
    - echo "Compiling the code..."
    - echo "Compile complete."

unit-test-job:   # This job runs in the test stage.
  stage: test    # It only starts when the job in the build stage completes successfully.
    - echo "Running unit tests... This will take about 60 seconds."
    - sleep 60
    - echo "Code coverage is 90%"

lint-test-job:   # This job also runs in the test stage.
  stage: test    # It can run at the same time as unit-test-job (in parallel).
    - echo "Linting code... This will take about 10 seconds."
    - sleep 10
    - echo "No lint issues found."

deploy-job:      # This job runs in the deploy stage.
  stage: deploy  # It only runs when *both* jobs in the test stage complete successfully.
  environment: production
    - echo "Deploying application..."
    - echo "Application successfully deployed."
  • Registration command:
sudo gitlab-runner register \
  --non-interactive \
  --executor "shell" \
  --url "" \
  --registration-token "MY_TOKEN" \
  --description "runner-test" \
  --maintenance-note "Free-form maintainer notes about this runner" \
  --run-untagged="true" \
  --locked="false" \
  • Writes toml:
concurrent = 1
check_interval = 0
shutdown_timeout = 0

  session_timeout = 1800

  name = "docker-runner"
  url = ""
  id = 6871
  token = "REDACTED"
  token_obtained_at = 2023-01-24T17:05:30Z
  token_expires_at = 0001-01-01T00:00:00Z
  executor = "shell"
    MaxUploadedArchiveSize = 0

Hopefully I’m doing something wrong here and there’s an easy fix.

Edit: Solution found
Because I installed gitlab-runner via brew, I had to start the service using sudo brew service start. And then I could check that status using sudo gitlab-runner status --service homebrew.mxcl.gitlab-runner. After this, pipeline works fine.