Using Toolchain resolution using configuration flags which was introduced in Bazel 4.0.0.
$ bazel build demo-all --toolchain_resolution_debug=//toolchains:toolchain_type --//toolchains:version=1.0.0
... Selected //toolchains:demo-x86_64-linux-x86_64-linux-1.0.0
... bazel-bin/demo-all.out
$ cat bazel-bin/demo-all.out
output: bazel-out/k8-fastbuild/bin/demo-all.out
execution platform: x86_64-linux
target platform: x86_64-linux
compiler version: 1.0.0
$ bazel build demo-all --toolchain_resolution_debug=//toolchains:toolchain_type --//toolchains:version=2.0.0
... Selected //toolchains:demo-x86_64-linux-x86_64-linux-2.0.0
... bazel-bin/demo-all.out
$ cat bazel-bin/demo-all.out
output: bazel-out/k8-fastbuild/bin/demo-all.out
execution platform: x86_64-linux
target platform: x86_64-linux
compiler version: 2.0.0
$ bazel build demo-1 demo-2 --keep_going --show_result=2 --//toolchains:version=1.0.0
...
Target //:demo-2 was skipped
Target //:demo-1 up-to-date:
bazel-bin/demo-1.out
$ cat bazel-bin/demo-1.out
output: bazel-out/k8-fastbuild/bin/demo-1.out
execution platform: x86_64-linux
target platform: x86_64-linux
compiler version: 1.0.0
$ bazel build demo-1 demo-2 --keep_going --show_result=2 --//toolchains:version=2.0.0
...
Target //:demo-1 was skipped
Target //:demo-2 up-to-date:
bazel-bin/demo-2.out
$ cat bazel-bin/demo-2.out
output: bazel-out/k8-fastbuild/bin/demo-2.out
execution platform: x86_64-linux
target platform: x86_64-linux
compiler version: 2.0.0
$ bazel build demo-all-1 --toolchain_resolution_debug=//toolchains:toolchain_type
... Selected //toolchains:demo-x86_64-linux-x86_64-linux-1.0.0
... bazel-bin/demo-all.out
$ cat bazel-bin/demo-all.out
output: bazel-out/k8-fastbuild/bin/demo-all.out
execution platform: x86_64-linux
target platform: x86_64-linux
compiler version: 1.0.0
$ bazel build demo-all-1.1 --toolchain_resolution_debug=//toolchains:toolchain_type
... Selected //toolchains:demo-x86_64-linux-x86_64-linux-1.1.0
... bazel-out/k8-fastbuild-ST-f2f601e3226f/bin/demo-all.out
$ cat bazel-out/k8-fastbuild-ST-f2f601e3226f/bin/demo-all.out
output: bazel-out/k8-fastbuild-ST-f2f601e3226f/bin/demo-all.out
execution platform: x86_64-linux
target platform: x86_64-linux
compiler version: 1.1.0
$ bazel build demo-all-2 --toolchain_resolution_debug=//toolchains:toolchain_type
... Selected //toolchains:demo-x86_64-linux-x86_64-linux-2.0.0
... bazel-out/k8-fastbuild-ST-6d692ac628d1/bin/demo-all.out
$ cat bazel-out/k8-fastbuild-ST-6d692ac628d1/bin/demo-all.out
output: bazel-out/k8-fastbuild-ST-6d692ac628d1/bin/demo-all.out
execution platform: x86_64-linux
target platform: x86_64-linux
compiler version: 2.0.0