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/SimpleStorage.php:260

            $list[$key] = $this->saveRow((string)$key, $row);
        }

        if ($list) {
            $this->save();
        }

        return $list;
    }

    /**
     * @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;
        }

        $this->data[$dst] = $this->data[$src];

        return true;
    }

    /**
     * {@inheritdoc}
     * @see FlexStorageInterface::renameRow()
     */
    public function renameRow(string $src, string $dst): bool
    {
        if (null === $this->data) {

View on GitHub (pinned to 6040efed04)

When it happens

Trigger: Thrown at system/src/Grav/Framework/Flex/Storage/SimpleStorage.php:260 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/d0a999c061aeb921. Report an issue: GitHub.