diff --git a/pkgs/firehose/CHANGELOG.md b/pkgs/firehose/CHANGELOG.md
index e71f5bf..14a07a3 100644
--- a/pkgs/firehose/CHANGELOG.md
+++ b/pkgs/firehose/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.3.11
+
+- Add additional console logging when we encounter GitHub API errors. 
+
 ## 0.3.10
 
 - Fixed an exception that occurred when no CHANGELOG.md file was present.
diff --git a/pkgs/firehose/lib/firehose.dart b/pkgs/firehose/lib/firehose.dart
index 22cad5a..f187c75 100644
--- a/pkgs/firehose/lib/firehose.dart
+++ b/pkgs/firehose/lib/firehose.dart
@@ -29,7 +29,7 @@
   /// - provide feedback on the PR (via a PR comment) about packages which are
   ///   ready to publish
   Future<void> validate() async {
-    var github = Github();
+    var github = Github(verbose: true);
 
     // Do basic validation of our expected env var.
     if (!_expectEnv(github.githubAuthToken, 'GITHUB_TOKEN')) return;
@@ -285,7 +285,12 @@
       Result(Severity.success, package, message, other);
 
   @override
-  String toString() => severity == Severity.error ? 'error: $message' : message;
+  String toString() {
+    final details = other == null ? '' : ' ($other)';
+    return severity == Severity.error
+        ? 'error: $message$details'
+        : '$message$details';
+  }
 }
 
 enum Severity {
diff --git a/pkgs/firehose/lib/src/github.dart b/pkgs/firehose/lib/src/github.dart
index 7ed7900..265595c 100644
--- a/pkgs/firehose/lib/src/github.dart
+++ b/pkgs/firehose/lib/src/github.dart
@@ -12,8 +12,13 @@
 class Github {
   static Map<String, String> get _env => Platform.environment;
 
+  /// When true, details of any RPC error are printed to the console.
+  final bool verbose;
+
   http.Client? _httpClient;
 
+  Github({this.verbose = false});
+
   String? get githubAuthToken => _env['GITHUB_TOKEN'];
 
   /// The owner and repository name. For example, `octocat/Hello-World`.
@@ -62,9 +67,17 @@
             },
             body: body)
         .then((response) {
-      return response.statusCode != 201
-          ? throw RpcException(response.reasonPhrase!)
-          : response.body;
+      if (response.statusCode != 201) {
+        if (verbose) {
+          stderr.writeln('${response.statusCode} ${response.reasonPhrase}');
+          for (var entry in response.headers.entries) {
+            stderr.writeln('${entry.key}: ${entry.value}');
+          }
+          stderr.writeln(response.body);
+        }
+        throw RpcException(response.reasonPhrase!);
+      }
+      return response.body;
     });
   }
 
diff --git a/pkgs/firehose/pubspec.yaml b/pkgs/firehose/pubspec.yaml
index 88555a6..b36f49d 100644
--- a/pkgs/firehose/pubspec.yaml
+++ b/pkgs/firehose/pubspec.yaml
@@ -1,6 +1,6 @@
 name: firehose
 description: A tool to automate publishing of Pub packages from GitHub actions.
-version: 0.3.10
+version: 0.3.11
 repository: https://github.com/dart-lang/ecosystem/tree/main/pkgs/firehose
 
 environment:
