diff --git a/metricsd/metrics_daemon.cc b/metricsd/metrics_daemon.cc
index 5b80b05..f83c5d4 100644
--- a/metricsd/metrics_daemon.cc
+++ b/metricsd/metrics_daemon.cc
@@ -326,7 +326,7 @@
 }
 
 void MetricsDaemon::OnWeaveCommand(CommandProxy* command) {
-  if (command->category() != "metrics" || command->status() != "queued") {
+  if (command->state() != "queued") {
     return;
   }
 
@@ -342,24 +342,26 @@
   if (base::WriteFile(metrics_directory_.Append(metrics::kConsentFileName),
                       "", 0) != 0) {
     PLOG(ERROR) << "Could not create the consent file.";
-    command->Abort(nullptr);
+    command->Abort("metrics_error", "Could not create the consent file",
+                   nullptr);
     return;
   }
 
   NotifyStateChanged();
-  command->Done(nullptr);
+  command->Complete({}, nullptr);
 }
 
 void MetricsDaemon::OnDisableMetrics(CommandProxy* command) {
   if (!base::DeleteFile(metrics_directory_.Append(metrics::kConsentFileName),
                         false)) {
-    PLOG(ERROR) << "Cound not delete the consent file.";
-    command->Abort(nullptr);
+    PLOG(ERROR) << "Could not delete the consent file.";
+    command->Abort("metrics_error", "Could not delete the consent file",
+                   nullptr);
     return;
   }
 
   NotifyStateChanged();
-  command->Done(nullptr);
+  command->Complete({}, nullptr);
 }
 
 void MetricsDaemon::NotifyStateChanged() {
