phacility/phabricator · warning · Exception
You have not selected any objects to edit.
Error message
You have not selected any objects to edit.
What it means
In the final edit step, the engine intersects the user's tick-box selection (targetList) with the editable objects. An empty intersection (nothing ticked, or every ticked object outside the editable set) is rejected before any transactions are read.
Source
Thrown at src/applications/transactions/bulk/PhabricatorBulkEngine.php:403
$viewer = $this->getViewer();
$controller = $this->getController();
$request = $controller->getRequest();
if (!$this->objectList) {
throw new Exception(pht('Query does not match any objects.'));
}
if (!$this->editableList) {
throw new Exception(
pht(
'Query does not match any objects you have permission to edit.'));
}
// Restrict the selection set to objects the user can actually edit.
$objects = array_intersect_key($this->editableList, $this->targetList);
if (!$objects) {
throw new Exception(
pht(
'You have not selected any objects to edit.'));
}
$raw_xactions = $request->getStr('xactions');
if ($raw_xactions) {
$raw_xactions = phutil_json_decode($raw_xactions);
} else {
$raw_xactions = array();
}
if (!$raw_xactions) {
throw new Exception(
pht(
'You have not chosen any edits to apply.'));
}
$edit_engine = id($this->newEditEngine())View on GitHub (pinned to 5720a38cfe)
Solutions
- Tick at least one editable object in the selection step and resubmit
- If every selection is non-editable, first narrow the query to editable objects (see the sibling permission error)
- If scripting, verify the selected PHID list is non-empty before POSTing
Defensive patterns
Strategy: validation
Validate before calling
// Client-side: ensure at least one selected PHID is in the editable set.
$selected = array_intersect_key($editableList, $targetList);
if (!$selected) {
// keep the user on the selection step with an explanation
} Prevention
- Keep the selection UI from submitting when nothing is ticked
- When scripting, assert the ticked PHID list is non-empty before POSTing
When it happens
Trigger: Submitting the bulk edit form with no objects selected, or selecting only objects the user cannot edit.
Common situations: Client-side state failing to carry selected PHIDs into the request; users selecting everything then deselecting it; selections limited entirely to non-editable rows.
Related errors
- You have not chosen any edits to apply.
- Service "%s" is unrecognized, restricted, or you do not have
- When creating a new Almanac interface via the Conduit API, y
- Device "%s" is unrecognized, restricted, or you do not have
- Interfaces must have a unique combination of network, device
AI-assisted analysis of phacility/phabricator@5720a38cfe (2026-08-21).
Data as JSON: /api/errors/c7e12b0f93b34c29.
Report an issue: GitHub.