gddy — GoDaddy domains & DNS CLI
is GoDaddy's beta CLI for domain search, registration, and DNS management.
It's separate from GoDaddy's older
CLI; it will eventually contain all of that same functionality.
Setup
Install:
bash
# macOS / Linux / Git Bash / MSYS2 / Cygwin
curl -fsSL https://github.com/godaddy/cli/releases/latest/download/install.sh | bash
# PowerShell
irm https://github.com/godaddy/cli/releases/latest/download/install.ps1 | iex
Verify that installation works by running
.
Documentation
The
CLI is self-documenting. Use the following to get more information about its capabilities:
- The flag will give you detailed documentation on any command.
- will help you find a command.
- The command will give you a full listing of all commands.
- The command lets you view detailed documentation that explains concepts and outlines complex workflows.
Authentication
Interactive three-legged OAuth happens automatically if there is no auth token, if the auth token is expired, or if additional permissions are required. When you run a command that requires auth, it will open the user's web browser. You can list available OAuth scopes with
then log them in with
gddy auth login --scope <a> --scope <b>
if you want to avoid multiple scope step-up interactions. Run
for more auth details or use
for a full walkthrough.
For non-interactive workflows, you can use a
Personal Access Token (PAT) instead. A PAT can be generated by a GoDaddy customer at
https://developer.godaddy.com/en/personal-access-token. It can be stored securely with
or set in a
environment variable.
Domain purchase
Domain purchase is a multi-step workflow. Run
gddy guide domain-purchase
for a detailed walkthrough. Always confirm with the user before finalizing a purchase — it's real money, and the action is not reversible.
DNS management
Valid record types:
A AAAA ALIAS CAA CNAME MX NS SOA SRV TXT
.
and
are GoDaddy-managed and read-only — you can list them but not add/set/delete them.
bash
gddy dns list example.com --type A
gddy dns add example.com --type A --name www --data 192.0.2.1 --ttl 3600
gddy dns set example.com --type TXT --name @ --data "v=spf1 -all"
gddy dns delete example.com --type A --name www
appends a new record;
replaces every record matching that type+name;
removes every record matching that type+name. Type-specific requirements:
/
need
;
also needs
,
,
,
;
requires
(
is optional).
and
are destructive. Run with
first and show the user what would change before applying it for real.
Payment Methods
opens the browser to the account's payment-methods page — no card data is ever handled by the CLI itself. Purchases fail (403/422) without a valid payment method or sufficient account balance; check the error's
field, not just the HTTP status, to tell that apart from other failures.
Global flags
Use the
flag for verbose output, including the full HTTP request/response. Use
to see what would happen without making any changes. Humans see human-formatted output; use
to see what they see in an interactive TTY. Non-TTY output uses
formatting by default. Use
if you understand that format to save tokens. Use
to override the default
environment, or set it permanently with
.
Reference material
Read these only when the task needs the detail — they're not needed for common domain/DNS operations:
- — raw GoDaddy Domains API fallback (when isn't installed/available, e.g. CI in a non-shell language): base URL/auth, the public OpenAPI specs to fetch and search directly, and the durable gotchas (idempotency keys on registration, the MCP server's read-only/no-auth scope).
reference/errors-and-limits.md
— error envelope shape, retry/idempotency rules per HTTP method, and rate-limit headers/handling.