Bluesky Custom Domain Handle Not Verifying: Fix Steps
🔍 WiseChecker

Bluesky Custom Domain Handle Not Verifying: Fix Steps

You set up a custom domain as your Bluesky handle, but the verification process fails. The handle shows as pending or returns an error instead of going live. This happens because Bluesky must confirm you control the domain through a specific DNS record. This article explains why verification fails and provides the exact steps to fix it.

Key Takeaways: Fixing a Bluesky Custom Domain Handle

  • DNS TXT record at _atproto.yourdomain.com: Must contain the exact value Bluesky provides during setup.
  • TTL setting on the TXT record: Set to 300 seconds (5 minutes) or lower to speed up propagation.
  • DNS propagation time: Can take up to 48 hours; use a propagation checker to confirm the record is live before retrying.

Why a Custom Domain Handle Fails to Verify on Bluesky

Bluesky uses a technology called AT Protocol to link your account to a custom domain. The protocol requires a specific DNS TXT record on your domain. The record must be placed at the subdomain _atproto.yourdomain.com. The value of this record is a unique string that Bluesky generates when you start the setup. If the record is missing, has the wrong value, or has not propagated across the internet, Bluesky cannot confirm your ownership. The verification process then fails with a generic error or a pending status that never resolves.

The Exact DNS Record Bluesky Requires

Bluesky looks for a TXT record at _atproto.yourdomain.com. The record value must be exactly did=did:plc:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, where the x string is your unique decentralized identifier. You cannot guess or reuse this value. Bluesky generates it when you start the handle setup inside the app. If you copy the value incorrectly or modify it, verification fails.

DNS Propagation Time

After you add or update a DNS TXT record, it takes time to spread across all DNS servers worldwide. This is called propagation. Most providers update within minutes, but some take up to 48 hours. If you try to verify immediately after adding the record, Bluesky may not see it yet. The result is a verification failure even though the record is correct.

Steps to Fix a Custom Domain Handle Not Verifying

Follow these steps in order. Do not skip any step. If you have trouble at a particular step, stop and verify the previous step was completed correctly.

  1. Open Bluesky Settings and Start the Handle Setup
    Open the Bluesky app on your phone or desktop. Tap the menu icon in the top-left corner. Select Settings. Under the Account section, tap Handle. Tap I have my own domain. Bluesky will display a unique TXT record value. Copy this value exactly. Do not add spaces or extra characters.
  2. Log In to Your Domain Registrar or DNS Provider
    Open a new browser tab and log in to the company where you bought your domain. Common providers include Namecheap, GoDaddy, Cloudflare, Google Domains, and Squarespace. Navigate to the DNS settings or DNS management page for your domain. Look for a section called Advanced DNS, DNS Records, or Zone Editor.
  3. Add a New TXT Record
    Create a new record. Set the type to TXT. In the Name or Host field, enter _atproto. Do not include your full domain name. In the Value or Content field, paste the exact string you copied from Bluesky. Set the TTL (Time to Live) to 300 seconds or 5 minutes. A lower TTL makes propagation faster. Save the record.
  4. Wait for DNS Propagation and Check With a Tool
    Wait at least 5 minutes. Then use a free DNS propagation checker like whatsmydns.net or dnschecker.org. Enter _atproto.yourdomain.com in the tool. Select TXT as the record type. Run the check. You should see the exact value you pasted. If you see it, the record is live. If not, wait longer and check again. Propagation can take up to 48 hours in rare cases.
  5. Verify the Handle in Bluesky
    Return to the Bluesky app. You should still be on the Handle setup screen. Tap Verify DNS Record or Next. Bluesky will check the record. If the record is correct and propagated, your custom domain handle will become active immediately. If it still fails, move to the next section.

If Bluesky Still Has Issues After the Main Fix

Sometimes the verification fails even after you add the correct TXT record. The following issues are the most common causes.

“The DNS record was not found” Error

This error means Bluesky cannot see any TXT record at _atproto.yourdomain.com. The most likely cause is an incorrect DNS record name. Verify that the Name or Host field contains only _atproto and not _atproto.yourdomain.com. Some providers add the domain automatically. Check your provider’s documentation for the correct format. Another cause is that you added the record to the wrong domain. Double-check you are editing the correct domain name in your DNS provider.

“The TXT record value does not match” Error

Bluesky sees a TXT record but the value is wrong. This usually happens when you copy the value incorrectly. The value is case-sensitive and must include did= at the beginning. Delete the existing TXT record and add a new one with a fresh copy from Bluesky. To get a fresh copy, go back to Bluesky Settings > Handle and restart the setup. Bluesky will generate a new value. Copy it and paste it directly into the DNS record.

Multiple TXT Records at the Same Subdomain

Some DNS providers let you add multiple TXT records with the same name. If you have more than one TXT record at _atproto, Bluesky may read the wrong one. Delete all existing TXT records at _atproto and add only the one Bluesky provided. After deleting, wait for propagation again before retrying verification.

Cloudflare Proxy (Orange Cloud) Interfering

If you use Cloudflare for DNS, make sure the orange cloud icon (proxy) is set to gray (DNS only) for the TXT record. Cloudflare’s proxy does not support TXT records. If the orange cloud is on, Bluesky cannot read the record. Edit the record in Cloudflare and click the orange cloud to turn it gray. Save the change.

Common DNS Provider Setup Differences

Each DNS provider has a slightly different interface. The table below shows how to add the TXT record for the most popular providers.

Provider Name / Host Field Value / Content Field
Namecheap Type _atproto in the Host field Paste the full did=... string in the Value field
GoDaddy Type _atproto in the Name field Paste the full string in the Value field
Cloudflare Type _atproto in the Name field Paste the full string in the Content field
Google Domains Type _atproto in the Host name field Paste the full string in the Text data field
Squarespace Type _atproto in the Host field Paste the full string in the Data field

After adding the record on any provider, always wait for propagation and use a checker tool before retrying verification in Bluesky.

You now know how to fix a custom domain handle that is not verifying on Bluesky. The key is a correctly placed DNS TXT record at _atproto.yourdomain.com with the exact value from Bluesky. After the record propagates, verification completes within seconds. As an advanced tip, set your TTL to 300 seconds or lower during setup to speed up propagation. Once the handle is active, you can increase the TTL to a higher value like 3600 seconds to reduce DNS lookup load.