multica-ai/multica · error
hermes profile name cannot be empty
Error message
hermes profile name cannot be empty
What it means
Error "hermes profile name cannot be empty" thrown in multica-ai/multica.
Source
Thrown at server/internal/daemon/execenv/hermes_home.go:338
data, err := os.ReadFile(filepath.Join(root, "active_profile"))
if err != nil {
return ""
}
name := strings.TrimSpace(string(data))
if name == "default" {
return ""
}
return name
}
// hermesProfileDir resolves a profile name against root, reproducing
// normalize_profile_name + validate_profile_name + get_profile_dir. It returns
// the home dir, whether that home must already exist (true for a named profile),
// or an error for an empty/malformed/reserved name (which Hermes sys.exit(1)s on).
func hermesProfileDir(root, name string) (home string, mustExist bool, err error) {
stripped := strings.TrimSpace(name)
if stripped == "" {
return "", false, fmt.Errorf("hermes profile name cannot be empty")
}
var canon string
if strings.EqualFold(stripped, "default") {
canon = "default"
} else {
canon = strings.ToLower(stripped)
}
if canon == "default" {
return root, false, nil // the default profile IS the root home
}
if !hermesProfileNameRe.MatchString(canon) {
return "", false, fmt.Errorf("invalid hermes profile name %q", canon)
}
if _, reserved := hermesReservedProfileNames[canon]; reserved {
return "", false, fmt.Errorf("hermes profile name %q is reserved", canon)
}
return filepath.Join(root, "profiles", canon), true, nil
}View on GitHub (pinned to 2c0912b6ec)
Solutions
- Provide a non-empty hermes profile name.
When it happens
Trigger: Thrown at server/internal/daemon/execenv/hermes_home.go:338 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/7d5fc5f1abb63b3b.
Report an issue: GitHub.