multica-ai/multica · error
read %s: %w
Error message
read %s: %w
What it means
Error "read %s: %w" thrown in multica-ai/multica.
Source
Thrown at server/internal/daemon/execenv/codex_home.go:855
// config.toml is copied verbatim, so its path-valued keys survive the move to
// the task home while the files they name do not. Codex resolves a relative
// value against CODEX_HOME, which is now the task home, so an unmaterialised
// reference makes Codex fail while loading its configuration — before the task
// prompt is ever delivered (MUL-5623 / #6271: `failed to read model
// instructions file <task-home>/gpt-unrestricted.md`).
//
// Only the keys listed below are followed. Copying every path a config could
// mention would turn any user config into a channel for pulling arbitrary host
// files into a task sandbox, and copying the whole shared home would drag
// auth.json and the machine's session history along with it.
func syncCodexReferencedFiles(codexHome, sharedHome string) error {
configPath := filepath.Join(codexHome, "config.toml")
data, err := os.ReadFile(configPath)
if os.IsNotExist(err) {
return nil
}
if err != nil {
return fmt.Errorf("read %s: %w", configPath, err)
}
var cfg struct {
ModelCatalogJSON string `toml:"model_catalog_json"`
// Replacement for Codex's built-in instructions.
// experimental_instructions_file is the deprecated alias Codex still
// accepts, so configs written before the rename need it too.
ModelInstructionsFile string `toml:"model_instructions_file"`
ExperimentalInstructionsFile string `toml:"experimental_instructions_file"`
}
if err := toml.Unmarshal(data, &cfg); err != nil {
return fmt.Errorf("parse %s: %w", configPath, err)
}
for _, ref := range []struct{ key, path string }{
{"model_catalog_json", cfg.ModelCatalogJSON},
{"model_instructions_file", cfg.ModelInstructionsFile},
{"experimental_instructions_file", cfg.ExperimentalInstructionsFile},View on GitHub (pinned to 2c0912b6ec)
Solutions
- Check that the file exists and is readable.
When it happens
Trigger: Thrown at server/internal/daemon/execenv/codex_home.go:855 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/fa56dd34c8793bc0.
Report an issue: GitHub.