multica-ai/multica · error

daemon failed to start: the server rejected your login token

Error message

daemon failed to start: the server rejected your login token (it may have expired or been revoked).
Run '%s' to sign in again, then rerun 'multica daemon start'.
Full log: %s

What it means

Error "daemon failed to start: the server rejected your login token (it may have expired or been revoked). Run '%s' to sign in again, then rerun 'multica daemon start'. Full log: %s" thrown in multica-ai/multica.

Source

Thrown at server/cmd/multica/cmd_daemon.go:761

// reachable — are recognized from what this startup attempt appended to the
// structured log and the crash sink, and rendered as one reason line plus a
// next step. Anything else falls back to a log excerpt with DBG/INF noise
// dropped.
func daemonStartupFailureError(logs daemonStartupLogs, waitErr error, profile, serverURL string) error {
	lines := readLogTailSince(logs.logPath, logs.logOffset, 40)
	crashLines := readLogTailSince(logs.errLogPath, logs.errLogOffset, 40)
	joined := strings.Join(append(append([]string{}, lines...), crashLines...), "\n")

	loginHint := "multica login"
	if profile != "" {
		loginHint += " --profile " + profile
	}

	switch {
	case strings.Contains(joined, "auth token rejected") ||
		strings.Contains(joined, "returned 401") ||
		strings.Contains(joined, "not authenticated"):
		return fmt.Errorf("daemon failed to start: the server rejected your login token (it may have expired or been revoked).\nRun '%s' to sign in again, then rerun 'multica daemon start'.\nFull log: %s", loginHint, logs.logPath)
	case strings.Contains(joined, "connection refused") ||
		strings.Contains(joined, "no such host") ||
		strings.Contains(joined, "i/o timeout") ||
		strings.Contains(joined, "network is unreachable"):
		target := "the Multica server"
		if serverURL != "" {
			target += " at " + serverURL
		}
		return fmt.Errorf("daemon failed to start: cannot reach %s.\nMake sure the server is running and reachable, then rerun 'multica daemon start'.\nFull log: %s", target, logs.logPath)
	}

	var b strings.Builder
	if exitErr := (&exec.ExitError{}); errors.As(waitErr, &exitErr) {
		fmt.Fprintf(&b, "daemon exited during startup (%s).", exitErr)
	} else {
		b.WriteString("daemon exited during startup.")
	}
	excerpt := filterDaemonLogNoise(lines, 5)

View on GitHub (pinned to 2c0912b6ec)

Solutions

  1. Run 'multica login' to sign in again, then rerun 'multica daemon start'.

When it happens

Trigger: Thrown at server/cmd/multica/cmd_daemon.go:761 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/a13177af94fba044. Report an issue: GitHub.