portainer/portainer · error

Target path already exists

Error message

Target path already exists

What it means

Error "Target path already exists" thrown in portainer/portainer.

Source

Thrown at api/filesystem/filesystem.go:983

	if err != nil {
		return fmt.Errorf("failed to restore backup directory: %w", err)
	}
	return nil
}

func MoveDirectory(originalPath, newPath string, overwriteTargetPath bool) error {
	if _, err := os.Stat(originalPath); err != nil {
		return err
	}

	alreadyExists, err := FileExists(newPath)
	if err != nil {
		return err
	}

	if alreadyExists {
		if !overwriteTargetPath {
			return errors.New("Target path already exists")
		}

		if err = os.RemoveAll(newPath); err != nil {
			return fmt.Errorf("failed to overwrite path %s: %s", newPath, err.Error())
		}
	}

	return os.Rename(originalPath, newPath)
}

func CreateFile(path string, r io.Reader) error {
	out, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600)
	if err != nil {
		return err
	}

	defer logs.CloseAndLogErr(out)

View on GitHub (pinned to 17e74456ff)

When it happens

Trigger: Thrown at api/filesystem/filesystem.go:983 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of portainer/portainer@17e74456ff (2026-08-26). Data as JSON: /api/errors/d2dbcb7871478295. Report an issue: GitHub.