{"record":{"id":"7785233f7856c7e1","repo":"phacility/phabricator","slug":"unable-to-load-bulk-job-with-id-s","errorCode":null,"errorMessage":"Unable to load bulk job with ID \"%s\".","messagePattern":"Unable to load bulk job with ID \"(.+?)\"\\.","errorType":"console","errorClass":"PhutilArgumentUsageException","httpStatus":null,"severity":"error","filePath":"src/applications/transactions/bulk/management/PhabricatorBulkManagementMakeSilentWorkflow.php","lineNumber":38,"sourceCode":"          ),\n        ));\n  }\n\n  public function execute(PhutilArgumentParser $args) {\n    $viewer = $this->getViewer();\n\n    $id = $args->getArg('id');\n    if (!$id) {\n      throw new PhutilArgumentUsageException(\n        pht('Use \"--id\" to choose a bulk job to make silent.'));\n    }\n\n    $job = id(new PhabricatorWorkerBulkJobQuery())\n      ->setViewer($viewer)\n      ->withIDs(array($id))\n      ->executeOne();\n    if (!$job) {\n      throw new PhutilArgumentUsageException(\n        pht(\n          'Unable to load bulk job with ID \"%s\".',\n          $id));\n    }\n\n    if ($job->getIsSilent()) {\n      echo tsprintf(\n        \"%s\\n\",\n        pht('This job is already configured to run silently.'));\n      return 0;\n    }\n\n    if ($job->getStatus() !== PhabricatorWorkerBulkJob::STATUS_CONFIRM) {\n      throw new PhutilArgumentUsageException(\n        pht(\n          'Work has already started on job \"%s\". Jobs can not be '.\n          'reconfigured after they have been started.',\n          $id));","sourceCodeStart":20,"sourceCodeEnd":56,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/transactions/bulk/management/PhabricatorBulkManagementMakeSilentWorkflow.php#L20-L56","documentation":"A --id was supplied but PhabricatorWorkerBulkJobQuery could not load a visible bulk job with that ID, so the workflow throws. Causes include a genuinely nonexistent ID, a typo, or an ID from a different install. It is a terminal usage error, not a retryable failure.","triggerScenarios":"`bin/bulk make-silent --id 999` where 999 does not exist; the job was archived or garbage-collected; the ID was copied from another environment.","commonSituations":"Copy-pasting IDs between test and prod; jobs pruned by GC while a runbook still referenced them; confusing bulk job IDs with worker task IDs.","solutions":["Re-check the job ID in the bulk job list / daemon console on the same install.","Confirm the job still exists and has not been cleaned up by garbage collection.","Ensure you are running the command against the environment that owns the job."],"exampleFix":"# before\nbin/bulk make-silent --id 9182\n# after (verify the ID exists first)\nbin/bulk make-silent --id 918  # the ID shown in the Bulk Jobs UI","handlingStrategy":"validation","validationCode":"# confirm the ID appears in the bulk job list before acting\ngrep -qw \"$JOB_ID\" <(bin/bulk list 2>/dev/null) || {\n  echo \"no bulk job $JOB_ID on this install\" >&2; exit 2;\n}","typeGuard":null,"tryCatchPattern":"Catch PhutilArgumentUsageException, match 'Unable to load bulk job', and halt the runbook step — retrying the same ID cannot succeed.","preventionTips":["Copy job IDs from the same environment you run the command on.","Never retry automatically: not-found is terminal for that ID."],"tags":["phabricator","cli","bulk-jobs"],"backgroundTag":"resource-not-found","analyzedSha":"5720a38cfe95b00ca4be5016dd0d2f3195f4fa04","analyzedAt":"2026-08-21T05:07:25.672Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}