phacility/phabricator · error · PhutilAggregateException
Unable to read device private key while attempting to make a
Error message
Unable to read device private key while attempting to make authenticated method call within the cluster. Use `%s` to register keys for this device. Exception: %s
What it means
Error "Unable to read device private key while attempting to make authenticated method call within the cluster. Use `%s` to register keys for this device. Exception: %s" thrown in phacility/phabricator.
Source
Thrown at src/applications/repository/storage/PhabricatorRepository.php:2224
try {
$public_key = Filesystem::readFile($public_path);
} catch (Exception $ex) {
throw new PhutilAggregateException(
pht(
'Unable to read device public key while attempting to make '.
'authenticated method call within the cluster. '.
'Use `%s` to register keys for this device. Exception: %s',
'bin/almanac register',
$ex->getMessage()),
array($ex));
}
$private_path = AlmanacKeys::getKeyPath('device.key');
try {
$private_key = Filesystem::readFile($private_path);
$private_key = new PhutilOpaqueEnvelope($private_key);
} catch (Exception $ex) {
throw new PhutilAggregateException(
pht(
'Unable to read device private key while attempting to make '.
'authenticated method call within the cluster. '.
'Use `%s` to register keys for this device. Exception: %s',
'bin/almanac register',
$ex->getMessage()),
array($ex));
}
$client->setSigningKeys($public_key, $private_key);
} else {
// If the caller is a normal user, we generate or retrieve a cluster
// API token.
$token = PhabricatorConduitToken::loadClusterTokenForUser($viewer);
if ($token) {
$client->setConduitToken($token->getToken());
}View on GitHub (pinned to 5720a38cfe)
When it happens
Trigger: Thrown at src/applications/repository/storage/PhabricatorRepository.php:2224 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Authentication and authorization failures — expired tokens, bad credentials, and missing scopes.
AI-assisted analysis of phacility/phabricator@5720a38cfe (2026-08-21).
Data as JSON: /api/errors/182e5c5c69be38ff.
Report an issue: GitHub.