Workaround/fix for Thunderbird failing to connect to CardDav contacts?

The Basics

  • Nextcloud Server version (e.g., 29.x.x): 33.0.2
  • PHP version (e.g, 8.3): 8.4
  • Are you using CloudfIare, mod_security, or similar?no

Summary of the issue you are facing:

Thunderbird used to be able to use the CardDav address book, but Thunderbird 152 and 153 fail to connect/sync.

I think this is a Thunderbird bug (see my report) but I’m posting here just in case anyone has a workaround/hack. It’s really difficult not having my contacts in Thunderbird!

Steps to replicate it (hint: details matter!):

  1. Thunderbird addressbook → add address book. It asks for username and URL

  2. Enter my username, enter the https://example.org/remote.php/dav/addressbooks/users/myuser/Contacts/ URL, hit enter

    1. Says cannot connect - it doesn’t ask for a password(!)
  3. Enter my username, enter the https://myuser:appPassword@example.org/remote.php/dav/addressbooks/users/myuser/Contacts/ URL, hit enter

    1. connects and lists my contacts! But then clicking continue gives an error in Thunderbird can’t access property “then”, authPromise is undefined’. So fails.

nothing logged in nextcloud when this occurs.

Has anyone found a way to get it working (again)?

this does look like the Thunderbird issue you reported. Nextcloud’s normal setup should ask for a password after the server URL, so that missing prompt isn’t expected.

for now, I’d use CardBook. Nextcloud documents it as the contacts-only fallback: add a remote address book, choose CardDAV, then enter the server URL, username and password. use an app password if you have 2FA enabled, and don’t put credentials in the URL.

Thanks, this works!