JuliusBrussee/caveman · error
ccr sqlite path is required
Error message
ccr sqlite path is required
What it means
Error "ccr sqlite path is required" thrown in JuliusBrussee/caveman.
Source
Thrown at engine/ccr/store_sqlite.go:209
// PrepareSQLitePath creates or tightens a persistent SQLite file before the
// driver sees it. Recovery databases can contain prompts, credentials, and tool
// results, so neither a permissive umask nor a caller-supplied symlink may widen
// access. Existing WAL/SHM files receive the same checks.
func PrepareSQLitePath(path string) error {
_, err := PrepareSQLitePathCanonical(path)
return err
}
// PrepareSQLitePathCanonical secures path and returns the one canonical path
// callers must use for every subsequent open and sidecar check. Returning the
// resolved parent closes the check/use gap from a swappable parent symlink.
func PrepareSQLitePathCanonical(path string) (string, error) {
if path == ":memory:" {
return path, nil
}
if strings.TrimSpace(path) == "" {
return "", fmt.Errorf("ccr sqlite path is required")
}
parent := filepath.Dir(path)
absoluteParent, err := filepath.Abs(parent)
if err != nil {
return "", fmt.Errorf("resolve sqlite parent %q: %w", parent, err)
}
resolvedParent, err := filepath.EvalSymlinks(absoluteParent)
if err != nil {
return "", fmt.Errorf("resolve sqlite parent %q: %w", parent, err)
}
parentInfo, err := os.Stat(resolvedParent)
if err != nil {
return "", fmt.Errorf("inspect sqlite parent %q: %w", resolvedParent, err)
}
if !parentInfo.IsDir() {
return "", fmt.Errorf("sqlite parent %q must be a directory", resolvedParent)
}
if err := validateSQLiteParentSecurity(resolvedParent, parentInfo); err != nil {View on GitHub (pinned to 27d5a3981a)
Solutions
- Provide the ccr sqlite path.
When it happens
Trigger: Thrown at engine/ccr/store_sqlite.go:209 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15).
Data as JSON: /api/errors/4c46b175362f5050.
Report an issue: GitHub.