multica-ai/multica · error
download update failed: %w
Error message
download update failed: %w
What it means
Error "download update failed: %w" thrown in multica-ai/multica.
Source
Thrown at server/internal/daemon/daemon.go:4423
// runUpdate executes the brew-or-download upgrade against targetVersion and
// returns the human-readable output (always populated, even on failure when
// brew gives us a useful diagnostic). The caller is responsible for the
// `updating` CAS guard and for reporting status back to the server / triggering
// the restart — extracted so the server-triggered path (handleUpdate) and the
// auto-update poller (autoUpdateLoop) share the exact same execution body.
func (d *Daemon) runUpdate(targetVersion string) (string, error) {
if cli.IsBrewInstall() {
d.logger.Info("updating CLI via Homebrew...")
out, err := cli.UpdateViaBrew()
if err != nil {
return out, fmt.Errorf("brew upgrade failed: %w", err)
}
return out, nil
}
d.logger.Info("updating CLI via direct download...", "target_version", targetVersion)
out, err := cli.UpdateViaDownload(targetVersion)
if err != nil {
return out, fmt.Errorf("download update failed: %w", err)
}
return out, nil
}
// updateReportBackoffs defines the retry schedule for delivering CLI update
// status back to the server. This mirrors localSkillReportBackoffs because
// both features have the same user-visible failure mode: the daemon completed
// work locally, but a transient report failure leaves the UI waiting until the
// server-side request times out.
//
// Overridable for tests to avoid real sleeps.
var updateReportBackoffs = []time.Duration{0, 500 * time.Millisecond, 2 * time.Second, 4 * time.Second}
func (d *Daemon) reportUpdateResult(ctx context.Context, runtimeID, updateID string, payload map[string]any) {
d.reportUpdateResultWithRetry(ctx, runtimeID, updateID, func(ctx context.Context) error {
return d.client.ReportUpdateResult(ctx, runtimeID, updateID, payload)
})
}View on GitHub (pinned to 2c0912b6ec)
Solutions
- Check network connectivity and retry the update download.
When it happens
Trigger: Thrown at server/internal/daemon/daemon.go:4423 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/924a98e813736e5d.
Report an issue: GitHub.