diff --git a/src/gn/binary_target_generator.cc b/src/gn/binary_target_generator.cc
index 5796cfe..07df7bf 100644
--- a/src/gn/binary_target_generator.cc
+++ b/src/gn/binary_target_generator.cc
@@ -218,8 +218,12 @@
       }
     }
     if (!found_dep) {
+      bool with_toolchain = scope_->settings()->ShouldShowToolchain({
+        &target_->label(),
+        &cur
+      });
       *err_ = Err(*value, "Label not in deps.",
-                  "The label \"" + cur.GetUserVisibleName(false) +
+                  "The label \"" + cur.GetUserVisibleName(with_toolchain) +
                       "\"\nwas not in the deps of this target. "
                       "allow_circular_includes_from only allows\ntargets "
                       "present in the "
diff --git a/src/gn/builder.cc b/src/gn/builder.cc
index 1522a36..81335f8 100644
--- a/src/gn/builder.cc
+++ b/src/gn/builder.cc
@@ -75,8 +75,9 @@
 
   // Check that it's not been already defined.
   if (record->item()) {
+    bool with_toolchain = item->settings()->ShouldShowToolchain({&item->label()});
     err = Err(item->defined_from(), "Duplicate definition.",
-              "The item\n  " + item->label().GetUserVisibleName(false) +
+              "The item\n  " + item->label().GetUserVisibleName(with_toolchain) +
                   "\nwas already defined.");
     err.AppendSubErr(
         Err(record->item()->defined_from(), "Previous definition:"));
@@ -232,7 +233,7 @@
           "possibly due to an\ninternal error:";
       for (auto* bad_record : bad_records) {
         depstring +=
-            "\n\"" + bad_record->label().GetUserVisibleName(false) + "\"";
+            "\n\"" + bad_record->label().GetUserVisibleName(true) + "\"";
       }
       *err = Err(Location(), "", depstring);
     } else {
@@ -330,7 +331,7 @@
   // Check types, if the record was not just created.
   if (!pair.first && record->type() != type) {
     std::string msg =
-        "The type of " + label.GetUserVisibleName(false) + "\nhere is a " +
+        "The type of " + label.GetUserVisibleName(true) + "\nhere is a " +
         BuilderRecord::GetNameForType(type) + " but was previously seen as a " +
         BuilderRecord::GetNameForType(record->type()) +
         ".\n\n"
@@ -354,7 +355,7 @@
   BuilderRecord* record = GetRecord(label);
   if (!record) {
     *err = Err(origin, "Item not found",
-               "\"" + label.GetUserVisibleName(false) +
+               "\"" + label.GetUserVisibleName(true) +
                    "\" doesn't\n"
                    "refer to an existent thing.");
     return nullptr;
@@ -364,7 +365,7 @@
   if (!item) {
     *err = Err(
         origin, "Item not resolved.",
-        "\"" + label.GetUserVisibleName(false) + "\" hasn't been resolved.\n");
+        "\"" + label.GetUserVisibleName(true) + "\" hasn't been resolved.\n");
     return nullptr;
   }
 
@@ -372,7 +373,7 @@
     *err =
         Err(origin,
             std::string("This is not a ") + BuilderRecord::GetNameForType(type),
-            "\"" + label.GetUserVisibleName(false) + "\" refers to a " +
+            "\"" + label.GetUserVisibleName(true) + "\" refers to a " +
                 item->GetItemTypeName() + " instead of a " +
                 BuilderRecord::GetNameForType(type) + ".");
     return nullptr;
diff --git a/src/gn/function_get_target_outputs.cc b/src/gn/function_get_target_outputs.cc
index fa851f3..c9f10c0 100644
--- a/src/gn/function_get_target_outputs.cc
+++ b/src/gn/function_get_target_outputs.cc
@@ -105,8 +105,9 @@
   }
 
   if (!target) {
+    bool with_toolchain = !scope->settings()->is_default();
     *err = Err(function, "Target not found in this context.",
-               label.GetUserVisibleName(false) +
+               label.GetUserVisibleName(with_toolchain) +
                    "\nwas not found. get_target_outputs() can only be used for "
                    "targets\n"
                    "previously defined in the current file.");
diff --git a/src/gn/target.cc b/src/gn/target.cc
index 7b545b5..2cebcf7 100644
--- a/src/gn/target.cc
+++ b/src/gn/target.cc
@@ -44,12 +44,16 @@
 }
 
 Err MakeTestOnlyError(const Item* from, const Item* to) {
+  bool with_toolchain = from->settings()->ShouldShowToolchain({
+    &from->label(),
+    &to->label(),
+  });
   return Err(
       from->defined_from(), "Test-only dependency not allowed.",
-      from->label().GetUserVisibleName(false) +
+      from->label().GetUserVisibleName(with_toolchain) +
           "\n"
           "which is NOT marked testonly can't depend on\n" +
-          to->label().GetUserVisibleName(false) +
+          to->label().GetUserVisibleName(with_toolchain) +
           "\n"
           "which is marked testonly. Only targets with \"testonly = true\"\n"
           "can depend on other test-only targets.\n"
@@ -1082,19 +1086,24 @@
       // Already have a precompiled header values, the settings must match.
       if (config_values_->precompiled_header() != cur.precompiled_header() ||
           config_values_->precompiled_source() != cur.precompiled_source()) {
+        bool with_toolchain = settings()->ShouldShowToolchain({
+          &label(),
+          pch_header_settings_from,
+          &config->label(),
+        });
         *err = Err(
             defined_from(), "Precompiled header setting conflict.",
-            "The target " + label().GetUserVisibleName(false) +
+            "The target " + label().GetUserVisibleName(with_toolchain) +
                 "\n"
                 "has conflicting precompiled header settings.\n"
                 "\n"
                 "From " +
-                pch_header_settings_from->GetUserVisibleName(false) +
+                pch_header_settings_from->GetUserVisibleName(with_toolchain) +
                 "\n  header: " + config_values_->precompiled_header() +
                 "\n  source: " + config_values_->precompiled_source().value() +
                 "\n\n"
                 "From " +
-                config->label().GetUserVisibleName(false) +
+                config->label().GetUserVisibleName(with_toolchain) +
                 "\n  header: " + cur.precompiled_header() +
                 "\n  source: " + cur.precompiled_source().value());
         return false;
@@ -1131,7 +1140,7 @@
   if (output_type() == Target::SOURCE_SET &&
       source_types_used().RustSourceUsed()) {
     *err = Err(defined_from(), "source_set contained Rust code.",
-               label().GetUserVisibleName(false) +
+               label().GetUserVisibleName(!settings()->is_default()) +
                    " has Rust code. Only C/C++ source_sets are supported.");
     return false;
   }
@@ -1177,7 +1186,7 @@
                                   &failure_path_str, &failure_pattern)) {
     *err = Err(
         defined_from(), "assert_no_deps failed.",
-        label().GetUserVisibleName(false) +
+        label().GetUserVisibleName(!settings()->is_default()) +
             " has an assert_no_deps entry:\n  " + failure_pattern->Describe() +
             "\nwhich fails for the dependency path:\n" + failure_path_str);
     return false;
diff --git a/src/gn/target_unittest.cc b/src/gn/target_unittest.cc
index b4ea699..005335d 100644
--- a/src/gn/target_unittest.cc
+++ b/src/gn/target_unittest.cc
@@ -926,7 +926,7 @@
                                              &computed_outputs, &err));
   ASSERT_EQ(1u, computed_outputs.size());
   EXPECT_EQ("//out/Debug/obj/a/a.stamp", computed_outputs[0].value())
-    << "was instead: " << computed_outputs[0].value();
+      << "was instead: " << computed_outputs[0].value();
 }
 
 // Tests Target::GetOutputFilesForSource for action_foreach targets (these, like
@@ -1219,13 +1219,16 @@
   TestWithScope setup;
   Err err;
 
-  Target target(setup.settings(), Label(SourceDir("//foo/"), "bar"));
+  Target target(setup.settings(), Label(SourceDir("//foo/"), "bar",
+                                        SourceDir("//toolchain/"), "default"));
 
   // Target with no settings, no configs, should be a no-op.
   EXPECT_TRUE(target.ResolvePrecompiledHeaders(&err));
 
   // Config with PCH values.
-  Config config_1(setup.settings(), Label(SourceDir("//foo/"), "c1"));
+  Config config_1(
+      setup.settings(),
+      Label(SourceDir("//foo/"), "c1", SourceDir("//toolchain/"), "default"));
   std::string pch_1("pch.h");
   SourceFile pcs_1("//pcs.cc");
   config_1.own_values().set_precompiled_header(pch_1);
@@ -1246,7 +1249,9 @@
   EXPECT_TRUE(target.config_values().precompiled_source() == pcs_1);
 
   // Second config with different PCH values.
-  Config config_2(setup.settings(), Label(SourceDir("//foo/"), "c2"));
+  Config config_2(
+      setup.settings(),
+      Label(SourceDir("//foo/"), "c2", SourceDir("//toolchain/"), "default"));
   std::string pch_2("pch2.h");
   SourceFile pcs_2("//pcs2.cc");
   config_2.own_values().set_precompiled_header(pch_2);
