diff --git a/tools/gn/builder.h b/tools/gn/builder.h
index 573d8ed..e10df4d 100644
--- a/tools/gn/builder.h
+++ b/tools/gn/builder.h
@@ -14,7 +14,6 @@
 #include "tools/gn/label_ptr.h"
 #include "tools/gn/unique_vector.h"
 
-class Config;
 class Err;
 class Loader;
 class ParseNode;
diff --git a/tools/gn/config_values_generator.h b/tools/gn/config_values_generator.h
index 6087878..7fd803c 100644
--- a/tools/gn/config_values_generator.h
+++ b/tools/gn/config_values_generator.h
@@ -11,7 +11,6 @@
 class ConfigValues;
 class Err;
 class Scope;
-class Token;
 
 // This class fills in the config values from a given scope. It's shared
 // between the "config" function call and all the different binary target types
diff --git a/tools/gn/deps_iterator.h b/tools/gn/deps_iterator.h
index 58f2b34..28062ae 100644
--- a/tools/gn/deps_iterator.h
+++ b/tools/gn/deps_iterator.h
@@ -9,8 +9,6 @@
 
 #include "tools/gn/label_ptr.h"
 
-class Target;
-
 // Provides an iterator for iterating over multiple LabelTargetVectors to
 // make it convenient to iterate over all deps of a target.
 //
diff --git a/tools/gn/filesystem_utils.h b/tools/gn/filesystem_utils.h
index c17ab39..bc14eb9 100644
--- a/tools/gn/filesystem_utils.h
+++ b/tools/gn/filesystem_utils.h
@@ -15,8 +15,6 @@
 #include "tools/gn/target.h"
 
 class Err;
-class Location;
-class Value;
 
 std::string FilePathToUTF8(const base::FilePath::StringType& str);
 inline std::string FilePathToUTF8(const base::FilePath& path) {
diff --git a/tools/gn/functions.h b/tools/gn/functions.h
index 0c97700..401384a 100644
--- a/tools/gn/functions.h
+++ b/tools/gn/functions.h
@@ -18,7 +18,6 @@
 class ListNode;
 class ParseNode;
 class Scope;
-class Token;
 class Value;
 
 // -----------------------------------------------------------------------------
diff --git a/tools/gn/header_checker.h b/tools/gn/header_checker.h
index 8f9212f..0c0eb4a 100644
--- a/tools/gn/header_checker.h
+++ b/tools/gn/header_checker.h
@@ -19,7 +19,6 @@
 
 class BuildSettings;
 class InputFile;
-class Label;
 class LocationRange;
 class SourceFile;
 class Target;
diff --git a/tools/gn/ninja_build_writer.h b/tools/gn/ninja_build_writer.h
index 42bbb84..df6d1c8 100644
--- a/tools/gn/ninja_build_writer.h
+++ b/tools/gn/ninja_build_writer.h
@@ -15,7 +15,6 @@
 class Builder;
 class BuildSettings;
 class Err;
-class Pool;
 class Settings;
 class Target;
 class Toolchain;
diff --git a/tools/gn/ninja_copy_target_writer.h b/tools/gn/ninja_copy_target_writer.h
index 9e1746e..a45a470 100644
--- a/tools/gn/ninja_copy_target_writer.h
+++ b/tools/gn/ninja_copy_target_writer.h
@@ -8,8 +8,6 @@
 #include "base/macros.h"
 #include "tools/gn/ninja_target_writer.h"
 
-class Tool;
-
 // Writes a .ninja file for a copy target type.
 class NinjaCopyTargetWriter : public NinjaTargetWriter {
  public:
diff --git a/tools/gn/ninja_target_writer.h b/tools/gn/ninja_target_writer.h
index 72ecbca..5a3af18 100644
--- a/tools/gn/ninja_target_writer.h
+++ b/tools/gn/ninja_target_writer.h
@@ -11,7 +11,6 @@
 #include "tools/gn/path_output.h"
 #include "tools/gn/substitution_type.h"
 
-class FileTemplate;
 class OutputFile;
 class Settings;
 class Target;
diff --git a/tools/gn/ninja_toolchain_writer.h b/tools/gn/ninja_toolchain_writer.h
index 9ddde84..9c6ad24 100644
--- a/tools/gn/ninja_toolchain_writer.h
+++ b/tools/gn/ninja_toolchain_writer.h
@@ -16,10 +16,8 @@
 #include "tools/gn/path_output.h"
 #include "tools/gn/toolchain.h"
 
-class BuildSettings;
 struct EscapeOptions;
 class Settings;
-class Target;
 class Tool;
 
 class NinjaToolchainWriter {
diff --git a/tools/gn/ninja_writer.h b/tools/gn/ninja_writer.h
index 4bcbf36..6372f0c 100644
--- a/tools/gn/ninja_writer.h
+++ b/tools/gn/ninja_writer.h
@@ -15,8 +15,6 @@
 class Builder;
 class BuildSettings;
 class Err;
-class Pool;
-class Settings;
 class Target;
 class Toolchain;
 
diff --git a/tools/gn/scope.h b/tools/gn/scope.h
index 36de088..31bac62 100644
--- a/tools/gn/scope.h
+++ b/tools/gn/scope.h
@@ -19,12 +19,9 @@
 #include "tools/gn/source_dir.h"
 #include "tools/gn/value.h"
 
-class FunctionCallNode;
-class ImportManager;
 class Item;
 class ParseNode;
 class Settings;
-class TargetManager;
 class Template;
 
 // Scope for the script execution.
diff --git a/tools/gn/target.h b/tools/gn/target.h
index 747b7b9..1890a53 100644
--- a/tools/gn/target.h
+++ b/tools/gn/target.h
@@ -27,9 +27,7 @@
 #include "tools/gn/unique_vector.h"
 
 class DepsIteratorRange;
-class InputFile;
 class Settings;
-class Token;
 class Toolchain;
 
 class Target : public Item {
diff --git a/tools/gn/xcode_writer.h b/tools/gn/xcode_writer.h
index 87a7d58..7373cff 100644
--- a/tools/gn/xcode_writer.h
+++ b/tools/gn/xcode_writer.h
@@ -22,10 +22,6 @@
 using PBXAttributes = std::map<std::string, std::string>;
 class PBXProject;
 
-namespace base {
-class FilePath;
-}
-
 class XcodeWriter {
  public:
   enum TargetOsType {
