How to Resolve Bluesky ‘Profile Not Found’ After Migration
🔍 WiseChecker

How to Resolve Bluesky ‘Profile Not Found’ After Migration

After migrating your Bluesky account to a new handle or a different hosting provider, you may encounter a Profile Not Found error when others try to visit your profile. This error typically appears because the domain verification process did not complete correctly or because DNS records are still propagating. The issue is not a permanent account loss — it is a configuration mismatch between your Bluesky account and the domain you are using as your handle. This article explains why the error occurs and provides clear steps to restore your profile visibility.

Key Takeaways: Restoring Your Bluesky Profile After Migration

  • Settings > Account > Handle: Re-verify your custom domain handle by entering the domain and following the updated DNS instructions.
  • DNS TXT record verification: Add or update the _atproto TXT record in your domain registrar with the correct Bluesky DID value.
  • Wait up to 48 hours: DNS propagation delays can cause the error even if the record is correct — patience is required.

Why Bluesky Shows ‘Profile Not Found’ After Migration

Bluesky uses a decentralized protocol called AT Protocol. When you set a custom domain as your handle, Bluesky must verify that you control that domain. It does this by checking a specific DNS TXT record named _atproto. This record contains your Bluesky DID a permanent identifier for your account.

During a migration, you might change your domain handle or move your account to a new hosting provider. If the DNS record is missing, outdated, or still propagating, Bluesky cannot match the domain to your account. The result is a Profile Not Found error for anyone trying to view your profile through the domain handle. The account itself remains intact — only the domain-to-account link is broken.

The root cause is almost always one of three things:

  • The _atproto TXT record was not updated after migration.
  • The record contains an incorrect DID value.
  • DNS changes have not finished propagating across the internet.

Steps to Fix the ‘Profile Not Found’ Error

Follow these steps in order. Do not skip any step.

  1. Open Bluesky Settings
    Log into your Bluesky account on the web or the app. Click your profile picture in the top-right corner, then select Settings from the dropdown.
  2. Go to Account Settings
    In the Settings menu, click Account. This section shows your current handle and email address.
  3. Check Your Handle
    Look at the Handle field. If it shows a custom domain like example.com instead of @user.bsky.social, the migration is partially complete. Click Change Handle.
  4. Re-enter Your Custom Domain
    Select I have my own domain. Type your domain exactly as you want it to appear. Click Start Verification.
  5. Copy the DNS Record Details
    Bluesky displays the exact DNS TXT record you must add. It looks like this: _atproto.example.com. TXT did=did:plc:abcdef123456. Copy the entire record including the DID value.
  6. Update DNS at Your Domain Registrar
    Go to your domain registrar or DNS hosting provider. Find the DNS management section. Locate any existing _atproto TXT record. Delete it. Add a new TXT record with:
    Name: _atproto (or _atproto.yourdomain.com depending on your provider)
    Value: did=did:plc:abcdef123456 (use the exact value Bluesky gave you)
    TTL: 300 seconds or the lowest allowed value
  7. Return to Bluesky and Verify
    Back in Bluesky, click Verify DNS Record. Bluesky checks for the correct TXT record. If the record is found, your handle is verified immediately.

If verification fails, wait 5 minutes and try again. DNS changes can take time to propagate. If it still fails, double-check the record value for typos. The DID string must match exactly.

If Bluesky Still Shows ‘Profile Not Found’ After the Main Fix

DNS Propagation Has Not Completed

DNS changes can take up to 48 hours to reach every server worldwide. During this time, some visitors may see your profile while others see the error. Use a tool like whatsmydns.net to check if the _atproto TXT record is visible globally. If it shows the correct value in some locations but not others, wait and check again later.

The Old DNS Record Still Exists

If you had a previous custom domain handle, the old _atproto record may still be present. Bluesky might pick up the old record instead of the new one. Log into your DNS provider and delete any TXT records for _atproto that contain an old DID value. Keep only the current record.

Your Account Uses a Different DID After Migration

When you migrate your Bluesky account to a new hosting provider, your DID may change. The DID in the DNS record must match the new DID assigned to your account. To find your current DID, go to Settings > Account > Handle. Click Change Handle and select I have my own domain. The DID displayed in the DNS instructions is your current DID. Compare it with the value in your DNS record. If they differ, update the DNS record with the new DID.

Your Domain Registrar Uses a Subdomain

Some domain registrars require you to create the TXT record on a subdomain. For example, if your domain is example.com, the record name might need to be _atproto.example.com instead of just _atproto. Check your registrar’s documentation. If you are unsure, try both formats.

Bluesky Profile Not Found: Common Scenarios After Migration

Scenario Cause Resolution
Handle changed to new domain DNS record missing for new domain Add _atproto TXT record with correct DID
Account moved to new hosting provider DID changed after migration Update DNS record with new DID value
Old domain still active Old DNS record conflicts with new record Delete old _atproto record
Profile visible to some users but not others DNS propagation in progress Wait up to 48 hours

Use this table to quickly identify which scenario matches your situation. Each scenario has a specific cause and a single resolution step.

Now you can resolve the Profile Not Found error by verifying your DNS record and updating your handle in Bluesky settings. After completing the steps, test your profile by opening a private browser window and navigating to https://bsky.app/profile/yourdomain.com. If the profile loads, the fix is complete. For future migrations, always update the DNS record before changing the handle in Bluesky to avoid downtime.