diff --git a/src/applications/config/management/PhabricatorConfigManagementSetWorkflow.php b/src/applications/config/management/PhabricatorConfigManagementSetWorkflow.php
--- a/src/applications/config/management/PhabricatorConfigManagementSetWorkflow.php
+++ b/src/applications/config/management/PhabricatorConfigManagementSetWorkflow.php
@@ -145,7 +145,7 @@
       $local_path = $config_source->getReadablePath();
 
       try {
-        Filesystem::assertWritable($local_path);
+        $config_source->setKeys(array($key => $value));
       } catch (FilesystemException $ex) {
         throw new PhutilArgumentUsageException(
           pht(
@@ -154,8 +154,6 @@
             Filesystem::readablePath($local_path)));
       }
 
-      $config_source->setKeys(array($key => $value));
-
       $write_message = pht(
         'Wrote configuration key "%s" to local storage (in file "%s").',
         $key,