getgrav/grav · error · RuntimeException
Cannot copy object: key '{$dst}' is already taken
Error message
Cannot copy object: key '{$dst}' is already taken What it means
Error "Cannot copy object: key '{$dst}' is already taken" thrown in getgrav/grav.
Source
Thrown at system/src/Grav/Framework/Flex/Storage/FileStorage.php:63
public function getMediaPath(?string $key = null): ?string
{
$path = $this->getStoragePath();
if (!$path) {
return null;
}
return $key ? "{$path}/{$key}" : $path;
}
/**
* @param string $src
* @param string $dst
* @return bool
*/
public function copyRow(string $src, string $dst): bool
{
if ($this->hasKey($dst)) {
throw new RuntimeException("Cannot copy object: key '{$dst}' is already taken");
}
if (!$this->hasKey($src)) {
return false;
}
return true;
}
/**
* {@inheritdoc}
* @see FlexStorageInterface::renameRow()
*/
public function renameRow(string $src, string $dst): bool
{
if (!$this->hasKey($src)) {
return false;
}View on GitHub (pinned to 6040efed04)
When it happens
Trigger: Thrown at system/src/Grav/Framework/Flex/Storage/FileStorage.php:63 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of getgrav/grav@6040efed04 (2026-08-17).
Data as JSON: /api/errors/30fbacdaf4d0bad9.
Report an issue: GitHub.