multica-ai/multica · error
hermes profile name %q is reserved
Error message
hermes profile name %q is reserved
What it means
Error "hermes profile name %q is reserved" thrown in multica-ai/multica.
Source
Thrown at server/internal/daemon/execenv/hermes_home.go:353
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
}
// prepareHermesHome builds the per-task HERMES_HOME compatibility overlay
// described above. The daemon exports the given path as HERMES_HOME on the
// hermes subprocess so the CLI discovers the bound skills natively.
//
// Callers gate this on the agent having skills bound; it is a full rebuild each
// time (mirror reconciled, config re-derived, bound skills rewritten) so a Reuse
// after a skill/config change lands cleanly. It fails CLOSED: if the mirror, the
// derived config, or the bound skills can't be established the whole overlay is
// unusable, so the error propagates and the caller must not start Hermes against
// a half-built home.
// sourceHome is the shared home to seed from (resolved by the daemon via
// ResolveHermesProfile, honoring the agent's HERMES_HOME/profile); empty
// falls back to the platform default. sourceMustExist fails closed when the
// source home is absent — set for an explicitly named profile so a typo doesn'tView on GitHub (pinned to 2c0912b6ec)
Solutions
- Pick a different, non-reserved hermes profile name.
When it happens
Trigger: Thrown at server/internal/daemon/execenv/hermes_home.go:353 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/b1ea9f7010f5cf09.
Report an issue: GitHub.