diff --git a/CHANGELOG.md b/CHANGELOG.md
index 88d3f23..9c38a40 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+## 0.28.4-dev
+* **Breaking change** Change the default for `allow-tools` command line flag to false.
+
 ## 0.28.3+3
 * Fix code highlighting in Dart after string interpolation (#1946, #1948) by
   updating the highlightjs dependency.
diff --git a/dartdoc_options.yaml b/dartdoc_options.yaml
index 98cd443..46081ac 100644
--- a/dartdoc_options.yaml
+++ b/dartdoc_options.yaml
@@ -1,4 +1,4 @@
 dartdoc:
   linkToSource:
     root: '.'
-    uriTemplate: 'https://github.com/dart-lang/dartdoc/blob/v0.28.3+3/%f%#L%l%'
+    uriTemplate: 'https://github.com/dart-lang/dartdoc/blob/v0.28.4-dev/%f%#L%l%'
diff --git a/lib/src/dartdoc_options.dart b/lib/src/dartdoc_options.dart
index 9b78b07..f9038cd 100644
--- a/lib/src/dartdoc_options.dart
+++ b/lib/src/dartdoc_options.dart
@@ -1428,7 +1428,7 @@
 /// given command line arguments.
 Future<List<DartdocOption>> createDartdocOptions() async {
   return <DartdocOption>[
-    new DartdocOptionArgOnly<bool>('allowTools', true,
+    new DartdocOptionArgOnly<bool>('allowTools', false,
         help: 'Execute user-defined tools to fill in @tool directives.',
         negatable: true),
     new DartdocOptionArgFile<double>(
diff --git a/lib/src/version.dart b/lib/src/version.dart
index 54be718..bf70152 100644
--- a/lib/src/version.dart
+++ b/lib/src/version.dart
@@ -1,2 +1,2 @@
 // Generated code. Do not modify.
-const packageVersion = '0.28.3+3';
+const packageVersion = '0.28.4-dev';
diff --git a/pubspec.yaml b/pubspec.yaml
index 548e223..8bab2f7 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,6 +1,6 @@
 name: dartdoc
 # Run `grind build` after updating.
-version: 0.28.3+3
+version: 0.28.4-dev
 author: Dart Team <misc@dartlang.org>
 description: A documentation generator for Dart.
 homepage: https://github.com/dart-lang/dartdoc
diff --git a/test/dartdoc_integration_test.dart b/test/dartdoc_integration_test.dart
index 7129683..835f5ad 100644
--- a/test/dartdoc_integration_test.dart
+++ b/test/dartdoc_integration_test.dart
@@ -112,6 +112,7 @@
       expect(
           () => subprocessLauncher.runStreamed(Platform.resolvedExecutable, [
                 dartdocPath,
+                '--allow-tools',
                 '--input=${testPackageToolError.path}',
                 '--output=${path.join(tempDir.absolute.path, 'test_package_tool_error')}'
               ]),
diff --git a/test/dartdoc_test.dart b/test/dartdoc_test.dart
index e7bcfe9..f49f5b1 100644
--- a/test/dartdoc_test.dart
+++ b/test/dartdoc_test.dart
@@ -100,7 +100,7 @@
     });
 
     test('errors generate errors even when warnings are off', () async {
-      Dartdoc dartdoc = await buildDartdoc([], testPackageToolError, tempDir);
+      Dartdoc dartdoc = await buildDartdoc(['--allow-tools'], testPackageToolError, tempDir);
       DartdocResults results = await dartdoc.generateDocsBase();
       PackageGraph p = results.packageGraph;
       Iterable<String> unresolvedToolErrors = p
diff --git a/test/src/utils.dart b/test/src/utils.dart
index d017431..33df91a 100644
--- a/test/src/utils.dart
+++ b/test/src/utils.dart
@@ -114,6 +114,7 @@
             sdkDir.path,
             '--exclude',
             excludeLibraries.join(','),
+            '--allow-tools',
           ] +
           additionalArguments))
       .buildPackageGraph();
