Your Bluesky handle is a key part of your identity on the network. When you set up a custom domain handle, your posts and profile display your own domain name instead of a generic bsky.social address. This feature stops working when the domain no longer resolves, meaning your handle reverts to a default handle or shows an error. The most common cause is a missing or misconfigured DNS record, specifically a TXT record that Bluesky uses to verify domain ownership. This article explains why the resolution fails and provides the exact steps to restore your custom domain handle.
Key Takeaways: Restoring a Bluesky Custom Domain Handle
- DNS TXT record for _atproto: The host must be exactly
_atproto.yourdomain.comand the value must match the verification string from Bluesky Settings. - Bluesky Settings > Account > Handle: The interface shows the current verification status and allows you to re-enter the domain name for a fresh check.
- DNS propagation delay: Changes can take up to 48 hours, but using a DNS checker tool confirms if the record is live.
Why a Custom Domain Handle Fails to Resolve
Bluesky uses a specific DNS TXT record to prove you control the domain. When you set up a custom handle, Bluesky looks for a record at _atproto.yourdomain.com. The record must contain a value that matches the verification token Bluesky provided. If the record is missing, has the wrong host, or contains an incorrect value, Bluesky cannot verify ownership and the handle stops resolving. The domain then falls back to a default handle or displays a warning in your profile.
Common reasons the record goes missing include accidental deletion during domain management, DNS provider changes, or expiration of the domain registration. A misconfigured host name is also frequent. Many users forget the underscore in _atproto or place the record at the root domain instead of the specific subdomain. The verification token itself can change if you re-request it, so the old token no longer works.
Steps to Fix a Non-Resolving Custom Domain Handle
Follow these steps in order. Do not skip any step, as each one verifies a different part of the configuration.
- Log into your DNS provider
Open the control panel for the domain registrar or DNS hosting service where your domain is managed. This could be Namecheap, Cloudflare, GoDaddy, Google Domains, or another provider. Navigate to the DNS settings for the exact domain you want to use as your Bluesky handle. - Locate the existing TXT record for _atproto
Look for a TXT record with the host name_atprotoor_atproto.yourdomain.com. If the record is missing, you must create it. If it exists but is incorrect, edit it. The host must be exactly_atprotowhen using a relative host field, or_atproto.yourdomain.comwhen using a fully qualified host field. Do not include your domain twice. - Get the correct verification token from Bluesky
Open Bluesky in a browser. Go to Settings > Account > Handle. Click Change Handle and select I Have My Own Domain. The page displays a string that looks likedid=did:plc:xxxxxxxxxxxxxxxxxxxxxxxx. Copy this entire string exactly, including the equals sign. Do not add spaces or extra characters. - Update the TXT record value
Back in your DNS provider, paste the copied string into the Value or Content field of the TXT record. Set the TTL to 300 seconds or the lowest value your provider allows. A short TTL speeds up propagation. Save the record. - Verify the record is live using a DNS checker
Go to a public DNS checker site such as dnschecker.org. Enter_atproto.yourdomain.comand select TXT as the record type. If the record shows your verification token, it is live. If not, wait 10 minutes and check again. Propagation can take up to 48 hours, but most providers update within a few hours. - Confirm the handle in Bluesky
Return to Bluesky Settings > Account > Handle. Click Change Handle and enter your domain name again. Bluesky re-checks the DNS record. If the record is correct, your handle updates to the custom domain. If you see an error, double-check the host name and value in the TXT record.
If Bluesky Still Has Issues After the Main Fix
The handle reverts to a default handle after a few hours
This indicates the DNS record was removed or changed after you saved it. Check your DNS provider for any automated scripts or security tools that delete unknown records. Some providers enable DNSSEC or proxy services by default. Disable any DNS proxy or CDN feature for the _atproto record, as Bluesky requires a raw TXT response. If the record is present but the handle still reverts, the TTL may be too high. Lower the TTL to 300 and wait for propagation.
The domain is registered but the handle shows as unverified
The most common cause is a missing underscore in the host name. The host must be _atproto, not atproto. Another cause is a mismatch in the verification token. The token Bluesky provides is unique to your account. If you have multiple Bluesky accounts, each one needs its own token. Copy the token from the correct account. Also ensure there are no extra whitespace characters in the value field of the DNS record.
Bluesky shows a DNS error when checking the handle
This error means Bluesky cannot reach your DNS server at all. Verify that your domain is not expired. Check that the nameservers for your domain are correct and that the domain is not in a pending transfer state. Use a DNS lookup tool to confirm the domain resolves to an IP address. If the domain itself is not resolving, fix the nameserver settings at your registrar first.
| Item | Working State | Failing State |
|---|---|---|
| DNS host name | _atproto.yourdomain.com | atproto.yourdomain.com or yourdomain.com |
| Record type | TXT | CNAME, A, or AAAA |
| Verification token | Exact string from Bluesky Settings | Old token, partial string, or extra characters |
| TTL value | 300 seconds or lower | 86400 or higher |
| DNS propagation | Confirmed via public DNS checker | Not checked or still pending |
You can now restore your custom domain handle by verifying the DNS record and re-entering the domain in Bluesky. After the handle is active, check your profile to confirm the domain displays correctly. To prevent future issues, set a calendar reminder to review your DNS records every three months. Use a DNS monitoring service that alerts you if the _atproto TXT record is deleted or modified.