phacility/phabricator · error · PhutilArgumentUsageException

Local path "%s" is not writable. This file must be writable

Error message

Local path "%s" is not writable. This file must be writable so that "bin/config" can store configuration.

What it means

Error "Local path "%s" is not writable. This file must be writable so that "bin/config" can store configuration." thrown in phacility/phabricator.

Source

Thrown at src/applications/config/management/PhabricatorConfigManagementSetWorkflow.php:150

      $config_entry->setValue($value);

      // If the entry has been deleted, resurrect it.
      $config_entry->setIsDeleted(0);

      $config_entry->save();

      $write_message = pht(
        'Wrote configuration key "%s" to database storage.',
        $key);
    } else {
      $config_source = new PhabricatorConfigLocalSource();

      $local_path = $config_source->getReadablePath();

      try {
        $config_source->setKeys(array($key => $value));
      } catch (FilesystemException $ex) {
        throw new PhutilArgumentUsageException(
          pht(
            'Local path "%s" is not writable. This file must be writable '.
            'so that "bin/config" can store configuration.',
            Filesystem::readablePath($local_path)));
      }

      $write_message = pht(
        'Wrote configuration key "%s" to local storage (in file "%s").',
        $key,
        $local_path);
    }

    echo tsprintf(
      "<bg:green>** %s **</bg> %s\n",
      pht('DONE'),
      $write_message);

    return 0;

View on GitHub (pinned to 5720a38cfe)

When it happens

Trigger: Thrown at src/applications/config/management/PhabricatorConfigManagementSetWorkflow.php:150 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of phacility/phabricator@5720a38cfe (2026-08-21). Data as JSON: /api/errors/4af90327df8d63d7. Report an issue: GitHub.