Syncing Nextcloud CardDAV with Apple Contacts

Hi all,

I have been trying all week to sync Nextcloud Contacts to Apple Contacts on macOS via CardDAV, but macOS will not pull any contacts. The same Nextcloud Contacts account syncs correctly to an Android device using DAVx⁵, which suggests the server-side data and credentials are OK.

Environment (anonymised)

Nextcloud Contacts hosted on a home server/NAS.

Accessed over HTTPS. In my case this is via a private network overlay (e.g., a tailnet), but the endpoint is reachable from the Mac and has a valid certificate.

Nextcloud is served on a non-standard HTTPS port (not 443).

Authentication is via a Nextcloud app password.

Issue on macOS

I can add the CardDAV account, but the address book remains empty in Apple Contacts.

In some attempts, the Contacts toggle in System Settings, Internet Accounts enables and then automatically disables again.

What I have verified

  1. TLS and connectivity from the Mac are OK

A curl test to the DAV endpoint succeeds with certificate verification.

Hitting the DAV endpoint without credentials returns HTTP 401 and a Basic auth challenge, which is expected.

  1. The address book is populated and accessible

Nextcloud Contacts web UI shows approximately 90 contacts in the address book.

A PROPFIND against the CardDAV address book collection using curl with Basic auth and the app password returns many .vcf entries (so the collection is populated and accessible with the same credentials macOS should be using).

  1. macOS configuration attempts

Tried adding the account in System Settings, Internet Accounts using:

Host and port (with and without https scheme).

The higher-level DAV endpoint (…/remote.php/dav/).

The full address book collection URL (…/remote.php/dav/addressbooks/users/USERNAME/ADDRESSBOOK/).

Where macOS lets me add the account, it still pulls no contacts.

Additional observation

After adding the CardDAV account, macOS shows:

Server address set to the host and port

Port set correctly

Use SSL enabled

Server path often ends up blank (even if I originally entered a deeper DAV URL)

Questions

Are there known issues with Apple Contacts CardDAV against Nextcloud when:

Nextcloud is served on a non-standard port, or

macOS does not correctly retain or use the DAV server path for discovery?

Are there specific endpoints that macOS requires to succeed (for example well-known redirects or principal discovery), even if the address book collection itself is accessible?

If helpful, I can provide anonymised results (status codes only, no URLs) for PROPFIND requests against:

/remote.php/dav/principals/users/USERNAME/

/remote.php/dav/addressbooks/users/USERNAME/

as well as the relevant Nextcloud log errors at the moment macOS attempts to sync.

I have also tried doing this on an iPhone and a separate Macbook with pretty much the same results.

Any help would be greatly appreciated.

Thanks in advance.

Hi,

I guess it’s a bug of the Addressbook app since macOS 26 (macOS 15.7.3 syncs without issue). The Calendar app, even of MacOS 26, syncs fine with the same access credentials (https://__.__/remote.php/dav/principals/users/’name’/)

I’ve found a client app in the store wich syncs without any change on the server (NC 32.0.3 / Apache2 / php8.4).

Let’s hope the bug will be fixed soon.

Kind regards
C.