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/FolderStorage.php:232
$list = [];
foreach ($rows as $key => $row) {
$key = (string)$key;
$list[$key] = $this->saveRow($key, $row);
}
return $list;
}
/**
* @param string $src
* @param string $dst
* @return bool
* @throws RuntimeException
*/
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;
}
$srcPath = $this->getStoragePath($src);
$dstPath = $this->getStoragePath($dst);
if (!$srcPath || !$dstPath) {
return false;
}
return $this->copyFolder($srcPath, $dstPath);
}
/**
* {@inheritdoc}
* @see FlexStorageInterface::renameRow()View on GitHub (pinned to 6040efed04)
When it happens
Trigger: Thrown at system/src/Grav/Framework/Flex/Storage/FolderStorage.php:232 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/f357a7f13311bcc6.
Report an issue: GitHub.