phacility/phabricator · error · PhutilArgumentUsageException
Use "--id" to choose a bulk job to make silent.
Error message
Use "--id" to choose a bulk job to make silent.
What it means
The make-silent workflow reconfigures a bulk job to run without mail or notifications, and it needs --id to know which job. With no id ($args->getArg('id') falsy), it throws this usage exception before touching the database. Bulk job IDs are visible in the web UI (Bulk Jobs / daemon console).
Source
Thrown at src/applications/transactions/bulk/management/PhabricatorBulkManagementMakeSilentWorkflow.php:29
pht('Configure a bulk job to execute silently.'))
->setArguments(
array(
array(
'name' => 'id',
'param' => 'id',
'help' => pht(
'Configure bulk job __id__ to run silently (without sending '.
'mail or publishing notifications).'),
),
));
}
public function execute(PhutilArgumentParser $args) {
$viewer = $this->getViewer();
$id = $args->getArg('id');
if (!$id) {
throw new PhutilArgumentUsageException(
pht('Use "--id" to choose a bulk job to make silent.'));
}
$job = id(new PhabricatorWorkerBulkJobQuery())
->setViewer($viewer)
->withIDs(array($id))
->executeOne();
if (!$job) {
throw new PhutilArgumentUsageException(
pht(
'Unable to load bulk job with ID "%s".',
$id));
}
if ($job->getIsSilent()) {
echo tsprintf(
"%s\n",
pht('This job is already configured to run silently.'));View on GitHub (pinned to 5720a38cfe)
Solutions
- Find the job ID in the bulk job UI/daemon console and pass --id <id>.
- If you meant to suppress future notification noise, prevent it at the source (disable mail, use a bot actor) instead of this command.
- Verify the job is still awaiting confirmation before acting — see error 1332.
Example fix
# before bin/bulk make-silent # after bin/bulk make-silent --id 123
Defensive patterns
Strategy: validation
Validate before calling
test -n "$JOB_ID" || { echo 'JOB_ID is empty; pass --id' >&2; exit 2; }
bin/bulk make-silent --id "$JOB_ID" Try / catch
Catch PhutilArgumentUsageException around the workflow call and exit with a usage-error code so orchestration can flag a script bug rather than a job problem.
Prevention
- Always resolve the job ID from the bulk job UI/console first.
- Make --id a required parameter of any wrapper script.
When it happens
Trigger: Running `bin/bulk make-silent` with no --id flag or an empty value.
Common situations: Operators scripting bulk job triage; forgetting the flag while trying to silence a noisy job during an incident; assuming the command acts on the most recent job.
Related errors
- Specify a user to notify with "--user".
- No user with username "%s" exists.
- Specify a message to send with "--message".
- Use "--output <path>" to specify an output file, or "--outpu
- Unable to load bulk job with ID "%s".
AI-assisted analysis of phacility/phabricator@5720a38cfe (2026-08-21).
Data as JSON: /api/errors/5951c3bc6cfe39ce.
Report an issue: GitHub.