multica-ai/multica · error
parse config.toml shell environment expressions: %s
Error message
parse config.toml shell environment expressions: %s
What it means
Error "parse config.toml shell environment expressions: %s" thrown in multica-ai/multica.
Source
Thrown at server/internal/daemon/execenv/codex_shell_env.go:220
func tomlTableHeaderLineRange(content []byte, table *unstable.Node) (tomlByteRange, error) {
it := table.Key()
if !it.Next() {
return tomlByteRange{}, errorsForInvalidShellEnvTOML("table header has no key")
}
offset := int(it.Node().Raw.Offset)
if offset < 0 || offset > len(content) {
return tomlByteRange{}, errorsForInvalidShellEnvTOML("table key range is outside config")
}
start := bytes.LastIndexByte(content[:offset], '\n') + 1
end := len(content)
if newline := bytes.IndexByte(content[offset:], '\n'); newline >= 0 {
end = offset + newline + 1
}
return tomlByteRange{start: start, end: end}, nil
}
func errorsForInvalidShellEnvTOML(detail string) error {
return fmt.Errorf("parse config.toml shell environment expressions: %s", detail)
}
func removeTOMLByteRanges(content []byte, ranges []tomlByteRange) ([]byte, error) {
if len(ranges) == 0 {
return append([]byte(nil), content...), nil
}
sort.Slice(ranges, func(i, j int) bool {
if ranges[i].start == ranges[j].start {
return ranges[i].end < ranges[j].end
}
return ranges[i].start < ranges[j].start
})
merged := make([]tomlByteRange, 0, len(ranges))
for _, r := range ranges {
if r.start < 0 || r.end < r.start || r.end > len(content) {
return nil, errorsForInvalidShellEnvTOML("expression range is outside config")
}View on GitHub (pinned to 2c0912b6ec)
Solutions
- Fix the shell environment expressions in config.toml so they parse.
When it happens
Trigger: Thrown at server/internal/daemon/execenv/codex_shell_env.go:220 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/82c4ea25f99c9f06.
Report an issue: GitHub.