diff --git a/src/cmd/go/internal/modget/get.go b/src/cmd/go/internal/modget/get.go index 31e9244e2dc..25dbf3972fd 100644 --- a/src/cmd/go/internal/modget/get.go +++ b/src/cmd/go/internal/modget/get.go @@ -453,7 +453,7 @@ func updateTools(ctx context.Context, queries []*query, opts *modload.WriteOpts) if queries[i].version == "none" { opts.DropTools = append(opts.DropTools, m.Pkgs...) } else { - opts.AddTools = append(opts.DropTools, m.Pkgs...) + opts.AddTools = append(opts.AddTools, m.Pkgs...) } } } diff --git a/src/cmd/go/testdata/script/mod_get_tool_issue74035.txt b/src/cmd/go/testdata/script/mod_get_tool_issue74035.txt new file mode 100644 index 00000000000..d6fa592c7b2 --- /dev/null +++ b/src/cmd/go/testdata/script/mod_get_tool_issue74035.txt @@ -0,0 +1,25 @@ +# Regression test for https://go.dev/issue/74035. +go get -tool example.com/foo/cmd/a example.com/foo/cmd/b +cmp go.mod go.mod.want + +-- go.mod -- +module example.com/foo +go 1.24 +-- go.mod.want -- +module example.com/foo + +go 1.24 + +tool ( + example.com/foo/cmd/a + example.com/foo/cmd/b +) +-- cmd/a/a.go -- +package a + +func main() {} + +-- cmd/b/b.go -- +package b + +func main() {}