{"record":{"id":"16e8dc5dd2b63e4b","repo":"multica-ai/multica","slug":"s-id-contains-an-unsafe-path-character","errorCode":null,"errorMessage":"%s ID contains an unsafe path character","messagePattern":"(.+?) ID contains an unsafe path character","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/internal/daemon/daemon.go","lineNumber":8461,"sourceCode":"\tif err := os.MkdirAll(path, 0o700); err != nil {\n\t\treturn \"\", err\n\t}\n\tif err := os.Chmod(path, 0o700); err != nil {\n\t\treturn \"\", err\n\t}\n\treturn path, nil\n}\n\nfunc validateReasonixStateSegment(name, value string) (string, error) {\n\tif value == \"\" {\n\t\treturn \"\", fmt.Errorf(\"%s ID is required\", name)\n\t}\n\tfor _, r := range value {\n\t\tswitch {\n\t\tcase r >= 'a' && r <= 'z', r >= 'A' && r <= 'Z', r >= '0' && r <= '9', r == '-', r == '_':\n\t\t\tcontinue\n\t\tdefault:\n\t\t\treturn \"\", fmt.Errorf(\"%s ID contains an unsafe path character\", name)\n\t\t}\n\t}\n\treturn value, nil\n}\n\n// codexShellAuthorizedCustomEnvNames returns names from the current agent's\n// custom_env that pass the same daemon blocklist used when assembling the child\n// environment. Returning names only keeps credential values out of the managed\n// Codex config path.\nfunc codexShellAuthorizedCustomEnvNames(customEnv map[string]string) []string {\n\tnames := make([]string, 0, len(customEnv))\n\tfor key := range customEnv {\n\t\tif key == \"\" || isBlockedEnvKey(key) {\n\t\t\tcontinue\n\t\t}\n\t\tnames = append(names, key)\n\t}\n\treturn names","sourceCodeStart":8443,"sourceCodeEnd":8479,"githubUrl":"https://github.com/multica-ai/multica/blob/2c0912b6ec764b373d44eeea1e80f0d9f11ab417/server/internal/daemon/daemon.go#L8443-L8479","documentation":"Error \"%s ID contains an unsafe path character\" thrown in multica-ai/multica.","triggerScenarios":"Thrown at server/internal/daemon/daemon.go:8461 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove path separators and other unsafe characters from the ID."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2c0912b6ec764b373d44eeea1e80f0d9f11ab417","analyzedAt":"2026-08-15T13:25:18.241Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}