multica-ai/multica · error

local_directory: daemon_id is required

Error message

local_directory: daemon_id is required

What it means

Error "local_directory: daemon_id is required" thrown in multica-ai/multica.

Source

Thrown at server/internal/handler/project_resource.go:282

	}
	return current
}

func validateLocalDirectoryRef(ref json.RawMessage) (json.RawMessage, error) {
	var payload localDirectoryRef
	if err := json.Unmarshal(ref, &payload); err != nil {
		return nil, fmt.Errorf("invalid local_directory payload: %w", err)
	}
	payload.LocalPath = strings.TrimSpace(payload.LocalPath)
	if payload.LocalPath == "" {
		return nil, errors.New("local_directory: local_path is required")
	}
	if !isAbsoluteLocalPath(payload.LocalPath) {
		return nil, errors.New("local_directory: local_path must be an absolute path")
	}
	payload.DaemonID = strings.TrimSpace(payload.DaemonID)
	if payload.DaemonID == "" {
		return nil, errors.New("local_directory: daemon_id is required")
	}
	payload.Label = strings.TrimSpace(payload.Label)
	payload.ExecutionMode = strings.TrimSpace(payload.ExecutionMode)
	switch payload.ExecutionMode {
	case "", localDirectoryModeInPlace, localDirectoryModeWorktree:
	default:
		return nil, fmt.Errorf("local_directory: execution_mode must be %q or %q, got %q",
			localDirectoryModeInPlace, localDirectoryModeWorktree, payload.ExecutionMode)
	}
	out, err := json.Marshal(payload)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// isAbsoluteLocalPath checks the path looks absolute on either POSIX or
// Windows daemons. The server can't know which OS the daemon runs on, so we

View on GitHub (pinned to 2c0912b6ec)

Solutions

  1. Provide the daemon_id of the daemon that owns the local directory.

When it happens

Trigger: Thrown at server/internal/handler/project_resource.go:282 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/62f9ec800b3b1ce8. Report an issue: GitHub.