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
- 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.