sipeed/picoclaw · error
failed to read security config: %w
Error message
failed to read security config: %w
What it means
Error "failed to read security config: %w" thrown in sipeed/picoclaw.
Source
Thrown at pkg/config/migration.go:422
func loadConfigMap(path string) (map[string]any, error) {
var m1, m2 map[string]any
data, err := os.ReadFile(path)
if err != nil {
if os.IsNotExist(err) {
return m1, nil
}
return nil, fmt.Errorf("failed to read config: %w", err)
}
if err = json.Unmarshal(data, &m1); err != nil {
return nil, wrapJSONError(data, err, "config.json")
}
secPath := securityPath(path)
data, err = os.ReadFile(secPath)
if err != nil {
if os.IsNotExist(err) {
return m1, nil
}
return nil, fmt.Errorf("failed to read security config: %w", err)
}
if err = yaml.Unmarshal(data, &m2); err != nil {
return nil, fmt.Errorf("failed to parse security config: %w", err)
}
if m2["web"] != nil || m2["skills"] != nil {
m3 := make(map[string]any)
if m2["web"] != nil {
m3["web"] = m2["web"]
delete(m2, "web")
}
if m2["skills"] != nil {
m3["skills"] = m2["skills"]
delete(m2, "skills")
if m, ok := m3["skills"].(map[string]any); ok {
if m["clawhub"] != nil {
m["registries"] = map[string]any{"clawhub": m["clawhub"]}
delete(m, "clawhub")
}View on GitHub (pinned to 49183d7e8d)
When it happens
Trigger: Thrown at pkg/config/migration.go:422 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of sipeed/picoclaw@49183d7e8d (2026-08-15).
Data as JSON: /api/errors/783f982ce4ac9000.
Report an issue: GitHub.