Name the CLI subcommand vtctl - #1438
Merged
Merged
Conversation
Vitess transitioned some time ago from the fat `vtctl` command to the
`vtctld` server and its thin `vtctldclient` client. Never will I
understand that naming decision but it has deeply bothered me for longer
than I've worked here.
We hoisted `vtctld` up into the `pscale branch vtctld` subcommand and
that similarly doesn't make sense - this is a client process, it
shouldn't have the `d` suffix!
So this patch makes the subcommand canonically `vtctl`, adds an alias
for `vtctld` for compatibility, and fixes up usage messages and such to
follow.
----
Here's a trail of bot output in case it's useful
Both names resolve — vtctl directly and vtctld as an alias (usage shows the canonical vtctl path).
Changes:
- internal/cmd/branch/vtctld/vtctld.go — Use: "vtctl <command>", added Aliases: []string{"vtctld"}, and updated Short/Long to "Run vtctl commands against
a branch".
- internal/cmd/branch/vtctld/throttler.go — two pscale branch vtctld list-tablets next-step hints → vtctl.
- internal/cmd/branch/vtctld/planned_reparent.go — pscale branch vtctld planned-reparent-shard status example → vtctl.
- internal/cmd/database/throttler.go — "tablet/vtctld throttler (pscale branch vtctld throttler)" → vtctl.
- AGENTS.md — "not per-DR, not tablet/vtctld" → vtctl (matches the database throttler doc text).
Left alone (Vitess component or vtctldclient references): doc/api-client.md (vtctld API surface), internal/cmdutil/json_error.go ("active vtctld
mutation"), and all "via vtctld", "vtctld operation", "vtctld keyspaces/workflows" strings plus vtctldclient mentions in the vtctld command package and
internal/planetscale.
Build passes; tests for internal/cmd/branch/vtctld, internal/cmd/database, and internal/cmdutil pass.
no-itsbackpack
approved these changes
Sep 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Vitess transitioned some time ago from the fat
vtctlcommand to thevtctldserver and its thinvtctldclientclient. Never will I understand that naming decision but it has deeply bothered me for longer than I've worked here.We hoisted
vtctldup into thepscale branch vtctldsubcommand and that similarly doesn't make sense - this is a client process, it shouldn't have thedsuffix!So this patch makes the subcommand canonically
vtctl, adds an alias forvtctldfor compatibility, and fixes up usage messages and such to follow.Here's a trail of bot output in case it's useful