{"record":{"id":"56535eabc950d5c2","repo":"phacility/phabricator","slug":"package-key-s-is-not-valid-package-keys-may-on","errorCode":null,"errorMessage":"Package key \"%s\" is not valid: package keys may only contain lowercase latin letters.","messagePattern":"Package key \"(.+?)\" is not valid: package keys may only contain lowercase latin letters\\.","errorType":"validation","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/applications/packages/storage/PhabricatorPackagesPackage.php","lineNumber":121,"sourceCode":"    if (!$length) {\n      throw new Exception(\n        pht(\n          'Package key \"%s\" is not valid: package keys are required.',\n          $value));\n    }\n\n    $max_length = 64;\n    if ($length > $max_length) {\n      throw new Exception(\n        pht(\n          'Package key \"%s\" is not valid: package keys must not be '.\n          'more than %s characters long.',\n          $value,\n          new PhutilNumber($max_length)));\n    }\n\n    if (!preg_match('/^[a-z]+\\z/', $value)) {\n      throw new Exception(\n        pht(\n          'Package key \"%s\" is not valid: package keys may only contain '.\n          'lowercase latin letters.',\n          $value));\n    }\n  }\n\n\n/* -(  PhabricatorSubscribableInterface  )----------------------------------- */\n\n\n  public function isAutomaticallySubscribed($phid) {\n    return false;\n  }\n\n\n/* -(  Policy Interface  )--------------------------------------------------- */\n","sourceCodeStart":103,"sourceCodeEnd":139,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/packages/storage/PhabricatorPackagesPackage.php#L103-L139","documentation":"Error \"Package key \"%s\" is not valid: package keys may only contain lowercase latin letters.\" thrown in phacility/phabricator.","triggerScenarios":"Thrown at src/applications/packages/storage/PhabricatorPackagesPackage.php:121 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"}