diff --git a/cmd/gclogs/main.go b/cmd/gclogs/main.go
index b8e066f..9c62ff3 100644
--- a/cmd/gclogs/main.go
+++ b/cmd/gclogs/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go . -help
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go . -help
 
 package main
 
diff --git a/cmd/mounttable/main.go b/cmd/mounttable/main.go
index 3af5487..e33dc99 100644
--- a/cmd/mounttable/main.go
+++ b/cmd/mounttable/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
diff --git a/cmd/namespace/main.go b/cmd/namespace/main.go
index 3af5487..e33dc99 100644
--- a/cmd/namespace/main.go
+++ b/cmd/namespace/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
diff --git a/cmd/principal/main.go b/cmd/principal/main.go
index 67fb4e1..8575936 100644
--- a/cmd/principal/main.go
+++ b/cmd/principal/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
diff --git a/cmd/principal/principal_v23_test.go b/cmd/principal/principal_v23_test.go
index 655fec8..b8cb1da 100644
--- a/cmd/principal/principal_v23_test.go
+++ b/cmd/principal/principal_v23_test.go
@@ -382,7 +382,7 @@
 func V23TestForkWithoutVDLPATH(t *v23tests.T) {
 	var (
 		parent = t.NewTempDir()
-		bin    = t.BuildGoPkg("v.io/x/ref/cmd/principal").WithEnv("VANADIUM_ROOT=''", "VDLPATH=''")
+		bin    = t.BuildGoPkg("v.io/x/ref/cmd/principal").WithEnv("V23_ROOT=''", "VDLPATH=''")
 	)
 	if err := bin.Start("create", parent, "parent").Wait(os.Stdout, os.Stderr); err != nil {
 		t.Fatalf("create %q failed: %v", parent, err)
diff --git a/cmd/uniqueid/main.go b/cmd/uniqueid/main.go
index 3f8a16a..e072764 100644
--- a/cmd/uniqueid/main.go
+++ b/cmd/uniqueid/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
diff --git a/cmd/vbash b/cmd/vbash
index e2c7bbf..863032a 100755
--- a/cmd/vbash
+++ b/cmd/vbash
@@ -69,7 +69,7 @@
 # Globals:
 #   BIN_NAMES
 #   BIN_PACKAGES
-#   VANADIUM_ROOT
+#   V23_ROOT
 # Arguments:
 #   destination for binaries
 #   source of binaries
@@ -88,11 +88,11 @@
   # If source is not specified, try to build latest version of the binaries and copy
   # them from the repository.
   if [[ -z "${BIN_SOURCE}" ]]; then
-    if [[ -z "${VANADIUM_ROOT}" ]]; then
-      echo 'WARNING: VANADIUM_ROOT is not specified, cannot build fresh binaries'
+    if [[ -z "${V23_ROOT}" ]]; then
+      echo 'WARNING: V23_ROOT is not specified, cannot build fresh binaries'
       return
     fi
-    local -r REPO_BIN_DIR="${VANADIUM_ROOT}/release/go/bin"
+    local -r REPO_BIN_DIR="${V23_ROOT}/release/go/bin"
     echo "Building and Fetching binaries:${bin_names_str} from build repository: ${REPO_BIN_DIR} ..."
     for package in "${BIN_PACKAGES[@]}"; do
        local bin_name=$(basename "${package}")
diff --git a/cmd/vdl/doc.go b/cmd/vdl/doc.go
index b580843..2b34150 100644
--- a/cmd/vdl/doc.go
+++ b/cmd/vdl/doc.go
@@ -267,8 +267,8 @@
 
 Setting VDLROOT is optional.
 
-If VDLROOT is empty, we try to construct it out of the VANADIUM_ROOT environment
-variable.  It is an error if both VDLROOT and VANADIUM_ROOT are empty.
+If VDLROOT is empty, we try to construct it out of the V23_ROOT environment
+variable.  It is an error if both VDLROOT and V23_ROOT are empty.
 
 Vdl Vdl.Config - help topic
 
diff --git a/cmd/vdl/main.go b/cmd/vdl/main.go
index 0defd24..fb695a3 100644
--- a/cmd/vdl/main.go
+++ b/cmd/vdl/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
@@ -145,8 +145,8 @@
 
 Setting VDLROOT is optional.
 
-If VDLROOT is empty, we try to construct it out of the VANADIUM_ROOT environment
-variable.  It is an error if both VDLROOT and VANADIUM_ROOT are empty.
+If VDLROOT is empty, we try to construct it out of the V23_ROOT environment
+variable.  It is an error if both VDLROOT and V23_ROOT are empty.
 `,
 }
 
diff --git a/cmd/vom/vom.go b/cmd/vom/vom.go
index 2e2d2ce..7a99a60 100644
--- a/cmd/vom/vom.go
+++ b/cmd/vom/vom.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
diff --git a/cmd/vomtestgen/main.go b/cmd/vomtestgen/main.go
index fa43955..6305464 100644
--- a/cmd/vomtestgen/main.go
+++ b/cmd/vomtestgen/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go . -help
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go . -help
 
 package main
 
diff --git a/cmd/vrpc/vrpc.go b/cmd/vrpc/vrpc.go
index 3a1e2af..a00f86e 100644
--- a/cmd/vrpc/vrpc.go
+++ b/cmd/vrpc/vrpc.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
diff --git a/lib/vdl/build/build.go b/lib/vdl/build/build.go
index c036e9d..07947bb 100644
--- a/lib/vdl/build/build.go
+++ b/lib/vdl/build/build.go
@@ -256,7 +256,7 @@
 }
 
 // SrcDirs returns a list of package root source directories, based on the
-// VDLPATH, VDLROOT and VANADIUM_ROOT environment variables.
+// VDLPATH, VDLROOT and V23_ROOT environment variables.
 //
 // VDLPATH is a list of directories separated by filepath.ListSeparator;
 // e.g. the separator is ":" on UNIX, and ";" on Windows.  Each VDLPATH
@@ -265,8 +265,8 @@
 //
 // VDLROOT is a single directory specifying the location of the standard vdl
 // packages.  It has the same requirements as VDLPATH components.  If VDLROOT is
-// empty, we use VANADIUM_ROOT to construct the VDLROOT.  An error is reported if
-// neither VDLROOT nor VANADIUM_ROOT is specified.
+// empty, we use V23_ROOT to construct the VDLROOT.  An error is reported if
+// neither VDLROOT nor V23_ROOT is specified.
 func SrcDirs(errs *vdlutil.Errors) []string {
 	var srcDirs []string
 	if root := vdlRootDir(errs); root != "" {
@@ -278,10 +278,10 @@
 func vdlRootDir(errs *vdlutil.Errors) string {
 	vdlroot := os.Getenv("VDLROOT")
 	if vdlroot == "" {
-		// Try to construct VDLROOT out of VANADIUM_ROOT.
-		vroot := os.Getenv("VANADIUM_ROOT")
+		// Try to construct VDLROOT out of V23_ROOT.
+		vroot := os.Getenv("V23_ROOT")
 		if vroot == "" {
-			errs.Error("Either VDLROOT or VANADIUM_ROOT must be set")
+			errs.Error("Either VDLROOT or V23_ROOT must be set")
 			return ""
 		}
 		vdlroot = filepath.Join(vroot, "release", "go", "src", "v.io", "v23", "vdlroot")
diff --git a/lib/vdl/build/build_test.go b/lib/vdl/build/build_test.go
index 8a32665..3974345 100644
--- a/lib/vdl/build/build_test.go
+++ b/lib/vdl/build/build_test.go
@@ -53,8 +53,8 @@
 }
 
 func setVanadiumRoot(t *testing.T, root string) bool {
-	if err := os.Setenv("VANADIUM_ROOT", root); err != nil {
-		t.Errorf("Setenv(VANADIUM_ROOT, %q) failed: %v", root, err)
+	if err := os.Setenv("V23_ROOT", root); err != nil {
+		t.Errorf("Setenv(V23_ROOT, %q) failed: %v", root, err)
 		return false
 	}
 	return true
@@ -75,12 +75,12 @@
 		Want         []string
 		ErrRE        string
 	}{
-		{"", "", nil, "Either VDLROOT or VANADIUM_ROOT must be set"},
+		{"", "", nil, "Either VDLROOT or V23_ROOT must be set"},
 		{"/a", "", []string{"/a"}, ""},
 		{"/a/b/c", "", []string{"/a/b/c"}, ""},
 		{"", "/v23", []string{"/v23/release/go/src/v.io/v23/vdlroot"}, ""},
 		{"", "/a/b/c", []string{"/a/b/c/release/go/src/v.io/v23/vdlroot"}, ""},
-		// If both VDLROOT and VANADIUM_ROOT are specified, VDLROOT takes precedence.
+		// If both VDLROOT and V23_ROOT are specified, VDLROOT takes precedence.
 		{"/a", "/v23", []string{"/a"}, ""},
 		{"/a/b/c", "/x/y/z", []string{"/a/b/c"}, ""},
 	}
diff --git a/services/application/application/main.go b/services/application/application/main.go
index 3af5487..e33dc99 100644
--- a/services/application/application/main.go
+++ b/services/application/application/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
diff --git a/services/binary/binary/main.go b/services/binary/binary/main.go
index 3af5487..e33dc99 100644
--- a/services/binary/binary/main.go
+++ b/services/binary/binary/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
diff --git a/services/build/build/main.go b/services/build/build/main.go
index 3af5487..e33dc99 100644
--- a/services/build/build/main.go
+++ b/services/build/build/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
diff --git a/services/build/buildd/impl_test.go b/services/build/buildd/impl_test.go
index b152e1f..ffce344 100644
--- a/services/build/buildd/impl_test.go
+++ b/services/build/buildd/impl_test.go
@@ -24,9 +24,9 @@
 // findGoBinary returns the path to the given Go binary and
 // the GOROOT environment variable to use.
 func findGoBinary(t *testing.T, name string) (bin, goroot string) {
-	root := os.Getenv("VANADIUM_ROOT")
+	root := os.Getenv("V23_ROOT")
 	if root == "" {
-		t.Fatalf("VANADIUM_ROOT is not set")
+		t.Fatalf("V23_ROOT is not set")
 	}
 	envroot := filepath.Join(root, "environment", "go", runtime.GOOS, runtime.GOARCH, "go")
 	envbin := filepath.Join(envroot, "bin", name)
diff --git a/services/debug/debug/main.go b/services/debug/debug/main.go
index 3af5487..e33dc99 100644
--- a/services/debug/debug/main.go
+++ b/services/debug/debug/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
diff --git a/services/device/device/devicex b/services/device/device/devicex
index 7e53c30..e910510 100755
--- a/services/device/device/devicex
+++ b/services/device/device/devicex
@@ -123,7 +123,7 @@
 # Fetches binaries needed by device manager installation.
 # Globals:
 #   BIN_NAMES
-#   VANADIUM_ROOT
+#   V23_ROOT
 # Arguments:
 #   destination for binaries
 #   source of binaries
@@ -141,11 +141,11 @@
 
   # If source is not specified, try to look for it in the repository.
   if [[ -z "${BIN_SOURCE}" ]]; then
-    if [[ -z "${VANADIUM_ROOT}" ]]; then
+    if [[ -z "${V23_ROOT}" ]]; then
       echo 'ERROR: binary source not specified and no local repository available'
       exit 1
     fi
-    local -r REPO_BIN_DIR="${VANADIUM_ROOT}/release/go/bin"
+    local -r REPO_BIN_DIR="${V23_ROOT}/release/go/bin"
     echo "Fetching binaries:${bin_names_str} from build repository: ${REPO_BIN_DIR} ..."
     for bin_name in "${BIN_NAMES[@]}"; do
       copy_binary "${bin_name}" "${REPO_BIN_DIR}" "${BIN_INSTALL}"
diff --git a/services/device/device/doc.go b/services/device/device/doc.go
index 1b05028..a9a06ad 100644
--- a/services/device/device/doc.go
+++ b/services/device/device/doc.go
@@ -371,8 +371,8 @@
 Device Publish
 
 Publishes the given application(s) to the binary and application servers. The
-binaries should be in $VANADIUM_ROOT/release/go/bin/[<GOOS>_<GOARCH>]. The
-binary is published as <binserv>/<binary name>/<GOOS>-<GOARCH>/<TIMESTAMP>. The
+binaries should be in $V23_ROOT/release/go/bin/[<GOOS>_<GOARCH>]. The binary is
+published as <binserv>/<binary name>/<GOOS>-<GOARCH>/<TIMESTAMP>. The
 application envelope is published as <appserv>/<binary name>/0. Optionally, adds
 blessing patterns to the Read and Resolve AccessLists.
 
diff --git a/services/device/device/main.go b/services/device/device/main.go
index e5ee2c2..46c85c4 100644
--- a/services/device/device/main.go
+++ b/services/device/device/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
diff --git a/services/device/device/publish.go b/services/device/device/publish.go
index df6a2b1..a11af49 100644
--- a/services/device/device/publish.go
+++ b/services/device/device/publish.go
@@ -35,7 +35,7 @@
 	Short: "Publish the given application(s).",
 	Long: `
 Publishes the given application(s) to the binary and application servers.
-The binaries should be in $VANADIUM_ROOT/release/go/bin/[<GOOS>_<GOARCH>].
+The binaries should be in $V23_ROOT/release/go/bin/[<GOOS>_<GOARCH>].
 The binary is published as <binserv>/<binary name>/<GOOS>-<GOARCH>/<TIMESTAMP>.
 The application envelope is published as <appserv>/<binary name>/0.
 Optionally, adds blessing patterns to the Read and Resolve AccessLists.`,
@@ -150,9 +150,9 @@
 		return cmd.UsageErrorf("publish: incorrect number of arguments, expected at least %d, got %d", expectedMin, got)
 	}
 	binaries := args
-	vroot := os.Getenv("VANADIUM_ROOT")
+	vroot := os.Getenv("V23_ROOT")
 	if vroot == "" {
-		return cmd.UsageErrorf("publish: $VANADIUM_ROOT environment variable should be set")
+		return cmd.UsageErrorf("publish: $V23_ROOT environment variable should be set")
 	}
 	binPath := filepath.Join(vroot, "release/go/bin")
 	goos := goosFlag.Get().(string)
diff --git a/services/profile/profile/main.go b/services/profile/profile/main.go
index 3af5487..e33dc99 100644
--- a/services/profile/profile/main.go
+++ b/services/profile/profile/main.go
@@ -3,7 +3,7 @@
 // license that can be found in the LICENSE file.
 
 // The following enables go generate to generate the doc.go file.
-//go:generate go run $VANADIUM_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
+//go:generate go run $V23_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go .
 
 package main
 
