{"record":{"id":"4af90327df8d63d7","repo":"phacility/phabricator","slug":"local-path-s-is-not-writable-this-file-must-be","errorCode":null,"errorMessage":"Local path \"%s\" is not writable. This file must be writable so that \"bin/config\" can store configuration.","messagePattern":"Local path \"(.+?)\" is not writable\\. This file must be writable so that \"bin/config\" can store configuration\\.","errorType":"console","errorClass":"PhutilArgumentUsageException","httpStatus":null,"severity":"error","filePath":"src/applications/config/management/PhabricatorConfigManagementSetWorkflow.php","lineNumber":150,"sourceCode":"      $config_entry->setValue($value);\n\n      // If the entry has been deleted, resurrect it.\n      $config_entry->setIsDeleted(0);\n\n      $config_entry->save();\n\n      $write_message = pht(\n        'Wrote configuration key \"%s\" to database storage.',\n        $key);\n    } else {\n      $config_source = new PhabricatorConfigLocalSource();\n\n      $local_path = $config_source->getReadablePath();\n\n      try {\n        $config_source->setKeys(array($key => $value));\n      } catch (FilesystemException $ex) {\n        throw new PhutilArgumentUsageException(\n          pht(\n            'Local path \"%s\" is not writable. This file must be writable '.\n            'so that \"bin/config\" can store configuration.',\n            Filesystem::readablePath($local_path)));\n      }\n\n      $write_message = pht(\n        'Wrote configuration key \"%s\" to local storage (in file \"%s\").',\n        $key,\n        $local_path);\n    }\n\n    echo tsprintf(\n      \"<bg:green>** %s **</bg> %s\\n\",\n      pht('DONE'),\n      $write_message);\n\n    return 0;","sourceCodeStart":132,"sourceCodeEnd":168,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/config/management/PhabricatorConfigManagementSetWorkflow.php#L132-L168","documentation":"Error \"Local path \"%s\" is not writable. This file must be writable so that \"bin/config\" can store configuration.\" thrown in phacility/phabricator.","triggerScenarios":"Thrown at src/applications/config/management/PhabricatorConfigManagementSetWorkflow.php:150 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5720a38cfe95b00ca4be5016dd0d2f3195f4fa04","analyzedAt":"2026-08-21T05:07:25.672Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}