chenhg5/cc-connect · error

claudecode: Claude Code is not logged in for /usage; run `cl

Error message

claudecode: Claude Code is not logged in for /usage; run `claude auth login`

What it means

A classified error from detectClaudeUsageOutputError: the output contains login-related markers ('auth login', 'not logged in'). It fires when the Claude Code CLI has no authenticated account, so /usage cannot be queried until login completes.

Source

Thrown at agent/claudecode/claude_usage.go:448

		resetAt := time.Date(nowInLoc.Year(), parsed.Month(), parsed.Day(), parsed.Hour(), parsed.Minute(), 0, 0, loc)
		if !resetAt.After(nowInLoc) {
			resetAt = resetAt.AddDate(1, 0, 0)
		}
		return resetAt, nil
	}

	return time.Time{}, fmt.Errorf("unsupported reset time %q", raw)
}

func detectClaudeUsageOutputError(screen, stderr string) error {
	joined := strings.ToLower(strings.TrimSpace(screen + "\n" + stderr))
	switch {
	case joined == "":
		return nil
	case strings.Contains(joined, "unknown command") && strings.Contains(joined, "/usage"):
		return fmt.Errorf("claudecode: this Claude Code version does not support /usage; please upgrade Claude Code")
	case strings.Contains(joined, "auth login") || strings.Contains(joined, "not logged in") || strings.Contains(joined, "sign in"):
		return fmt.Errorf("claudecode: Claude Code is not logged in for /usage; run `claude auth login`")
	case strings.Contains(joined, "/usage") && (strings.Contains(joined, "not available") || strings.Contains(joined, "not supported") || strings.Contains(joined, "subscription")):
		return fmt.Errorf("claudecode: current Claude account does not support /usage")
	default:
		return nil
	}
}

type claudeUsageTerminal struct {
	mu    sync.RWMutex
	lines [][]rune
	row   int
	col   int
}

func newClaudeUsageTerminal() *claudeUsageTerminal {
	return &claudeUsageTerminal{
		lines: [][]rune{nil},
	}

View on GitHub (pinned to 4000b2338a)

Solutions

  1. Run 'claude auth login' (or the appropriate login flow) on the host
  2. Ensure the daemon user shares the logged-in claude credentials
  3. Retry /usage after authenticating
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at agent/claudecode/claude_usage.go:448 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of chenhg5/cc-connect@4000b2338a (2026-09-06). Data as JSON: /api/errors/629cd92a738c41fc. Report an issue: GitHub.