Claude Code configured the DNS for this website

This work was written by a human. Output from sessions with LLMs may be referenced with explicit attribution.··4 min read

In the latest development on my "LLMs are magic" journey, Claude Code setup the DNS configurationDNS configuration is linking a URL to a website server's IP address for the website you're on right now.

I was muddling through the DNS setup myself, trying to connect my Porkbun domain to the Vercel React app that runs this blog. ("Muddling" is perhaps a generous term for what I was doing; I'd had to reset a botched first attempt and was quickly running out of patience).

Then I realized: Both ends of this problem, the Porkbun DNS provider and Vercel, have APIs. Surely I wouldn't be able to just hand Claude Code some API tokens and send it on its way? I threw together a quick prompt and wandered away to do some chores with no real expectations.

By the time I was back, it was just done. The browser window that had been previously serving an ERR_NAME_NOT_RESOLVED error had reloaded to show the live site. Other than purchasing the original doman and setting up the API keys I had done no manual interventions at all.


What did it do?

I find sharing LLM chat sessions to be a bit like telling people about your dreams. Your dreams are interesting to you, but describe them to other people and you're going to be met with perfunctory politness. (Or perhaps I am a poor dream-teller)

So I'll limit my dream-telling to just Claude's summary of what it did to implement the DNS:

The following block is the output of a LLM
  1. Visited rubenflamshepherd.com → Got ERR_NAME_NOT_RESOLVED
  2. Checked Porkbun DNS records via API → Found domain pointing to pixie.porkbun.com (parking page)
  3. Tested DNS resolution → Google DNS (8.8.8.8) worked, but your local ISP (Beanfield) returned SERVFAIL
  4. Traced the issue → Ran dig +trace, confirmed the resolution chain works fine; problem was specifically Beanfield's recursive resolver
  5. Switched your Mac's DNS to Cloudflarenetworksetup -setdnsservers Wi-Fi 1.1.1.1 1.0.0.1
  6. Verified parking page now loads → Site resolved, showing Porkbun's "A Brand New Domain!" page
  7. Listed your Vercel projects via API → Found personal-website project
  8. Added rubenflamshepherd.com to Vercel projectPOST /v10/projects/.../domains
  9. Deleted old Porkbun records → Removed ALIAS record (→ pixie.porkbun.com) and wildcard CNAME
  10. Created new Porkbun records:
    • A record: rubenflamshepherd.com76.76.21.21 (Vercel)
    • CNAME: www.rubenflamshepherd.comcname.vercel-dns.com
  11. Added www to Vercel with redirectwww.rubenflamshepherd.com redirects to apex
  12. Verified site loads → Your personal website now live at rubenflamshepherd.com

In particular, Claude figured out how to fix a nasty DNS resolution issue (steps 3-6) that I would've probably spent a couple hours debugging on my own! This was what I was getting frustrated with before handing the reins to Claude and is now stuck in my brain as a potential failure point for future DNS setups.

(You can find the full Claude Code transcript for the DNS setup here but the fun stuff starts on page nine (!) here)


...but is this a good thing?

I originally wrote this piece to add my perspective to the "LLMs speed up software development at the cost of personal technical development" discorse. I think there's a point to be made that understanding what LLMs are capable of and how to leverage them is now part of our personal technical development.

But I learned more about DNS during this process than I did during any of the domain setup processes I went through in the pre-LLM era. And I learned more because I wrote about it. Because I sat down to understand what had happened and how the model had done it and how I could best explain that to other people. So the lesson seems to be LLM-independent: write about what you're doing!

I'll save my point that knowing how to use LLMs well is a skill unto itself for another post :)

Thanks for reading the whole post!

I write about agentic coding. Get notified when I next publish, unsub at any time.