{"record":{"id":"974ffaadf2e1f657","repo":"phacility/phabricator","slug":"unable-to-load-specified-object-s-974ffa","errorCode":null,"errorMessage":"Unable to load specified object (\"%s\").","messagePattern":"Unable to load specified object \\(\"(.+?)\"\\)\\.","errorType":"console","errorClass":"PhutilArgumentUsageException","httpStatus":null,"severity":"warning","filePath":"src/applications/herald/management/HeraldWebhookCallManagementWorkflow.php","lineNumber":86,"sourceCode":"      ->withIDs(array($id))\n      ->executeOne();\n    if (!$hook) {\n      throw new PhutilArgumentUsageException(\n        pht(\n          'Unable to load specified webhook (\"%s\").',\n          $id));\n    }\n\n    $object_name = $args->getArg('object');\n    if ($object_name === null) {\n      $object = $hook;\n    } else {\n      $objects = id(new PhabricatorObjectQuery())\n        ->setViewer($viewer)\n        ->withNames(array($object_name))\n        ->execute();\n      if (!$objects) {\n        throw new PhutilArgumentUsageException(\n          pht(\n            'Unable to load specified object (\"%s\").',\n            $object_name));\n      }\n      $object = head($objects);\n    }\n\n    $is_background = $args->getArg('background');\n\n    $xaction_query =\n      PhabricatorApplicationTransactionQuery::newQueryForObject($object);\n\n    $xactions = $xaction_query\n      ->withObjectPHIDs(array($object->getPHID()))\n      ->setViewer($viewer)\n      ->setLimit(10)\n      ->execute();\n","sourceCodeStart":68,"sourceCodeEnd":104,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/herald/management/HeraldWebhookCallManagementWorkflow.php#L68-L104","documentation":"'bin/herald call-webhook --object <name>' resolves the name through PhabricatorObjectQuery::withNames() (monogram lookup, e.g. T123, D45). If the query returns nothing, this usage exception is thrown. When --object is omitted the hook itself is used as the object, so the error only happens with an explicit unresolvable name.","triggerScenarios":"Running './bin/herald call-webhook --id 3 --object X999' where X999 is not a valid monogram of an existing object; the referenced object was deleted.","commonSituations":"Monogram typo or wrong case; scripting against an environment where the object does not exist; object deleted between writing and running the script.","solutions":["Verify the monogram in the UI and re-run with the corrected name.","Omit --object entirely to fire the hook against the webhook object itself."],"exampleFix":"// before\n./bin/herald call-webhook --id 3 --object T9999\n// after\n./bin/herald call-webhook --id 3 --object T123","handlingStrategy":"validation","validationCode":"// Resolve the monogram before invoking the workflow:\n$objects = id(new PhabricatorObjectQuery())\n  ->setViewer($viewer)\n  ->withNames(array($object_name))\n  ->execute();\nif (!$objects) {\n  throw new InvalidArgumentException('Unknown object: '.$object_name);\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Validate monograms with a PhabricatorObjectQuery lookup before building commands.","Omit --object when you just want to exercise the hook itself."],"tags":["herald","webhook","phabricator","cli","entity-not-found"],"backgroundTag":"entity-not-found","analyzedSha":"5720a38cfe95b00ca4be5016dd0d2f3195f4fa04","analyzedAt":"2026-08-21T05:07:25.672Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}