phacility/phabricator · error · Exception
Unable to load inline "%s".
Error message
Unable to load inline "%s".
What it means
Thrown by loadCommentByIDForEdit() when an inline comment ID from the request cannot be loaded. This path serves comment-edit and comment-preview operations: the controller queries by ID with `needInlineContext(true)` and the acting viewer's policies; a null result (wrong ID, deleted comment, or policy-hidden comment) triggers the exception. It is the edit-path sibling of the reply-path 'Failed to load comment' error.
Source
Thrown at src/infrastructure/diff/PhabricatorInlineCommentController.php:524
final protected function loadCommentByPHID($phid) {
$query = $this->newInlineCommentQuery()
->withPHIDs(array($phid));
return $this->loadCommentByQuery($query);
}
final protected function loadCommentByIDForEdit($id) {
$viewer = $this->getViewer();
$query = $this->newInlineCommentQuery()
->withIDs(array($id))
->needInlineContext(true);
$inline = $this->loadCommentByQuery($query);
if (!$inline) {
throw new Exception(
pht(
'Unable to load inline "%s".',
$id));
}
if (!$this->canEditInlineComment($viewer, $inline)) {
throw new Exception(
pht(
'Inline comment "%s" is not editable.',
$id));
}
return $inline;
}
private function loadCommentByQuery(
PhabricatorDiffInlineCommentQuery $query) {
$viewer = $this->getViewer();View on GitHub (pinned to 5720a38cfe)
Solutions
- Reload the review page and open the comment's edit form from the current thread
- Confirm the comment ID exists and the acting user can see it (author or appropriate policy)
- If comments were purged/migrated, refresh any external links pointing at old inline IDs
Defensive patterns
Strategy: validation
Validate before calling
// Before opening the inline edit endpoint
$inline = id(new PhabricatorDiffInlineCommentQuery())
->setViewer($viewer)
->withIDs(array($inline_id))
->executeOne();
if (!$inline) {
// render 'comment no longer available' instead of following the edit URL
} Prevention
- Refresh the review page before editing inlines left open in long-lived tabs
- In custom UIs, verify the inline still loads for the viewer before showing edit controls
When it happens
Trigger: GET/POST to an inline edit endpoint (e.g. `/differential/comment/inline/edit/{id}/`) where the ID does not exist or is invisible; editing a comment that another user deleted moments earlier; IDs from a stale URL for a comment removed by a review update.
Common situations: Stale edit links in open tabs; comment deleted or policy-changed between page load and save; hand-crafted or migrated URLs with wrong IDs.
Related errors
- Failed to load comment "%s".
- Inline comment "%s" is not editable.
- Failed to load container object for inline comment.
- Attempting to update comment content state, but request has
- No public key exists with ID "%s".
AI-assisted analysis of phacility/phabricator@5720a38cfe (2026-08-21).
Data as JSON: /api/errors/350f59ef9b4f0a2d.
Report an issue: GitHub.