chenhg5/cc-connect · error

claudecode: this Claude Code version does not support /usage

Error message

claudecode: this Claude Code version does not support /usage; please upgrade Claude Code

What it means

A classified error from detectClaudeUsageOutputError: the combined screen/stderr text contains both 'unknown command' and '/usage'. It fires when the installed Claude Code version predates the /usage command, so the probe cannot work until the CLI is upgraded.

Source

Thrown at agent/claudecode/claude_usage.go:446

			continue
		}
		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{

View on GitHub (pinned to 4000b2338a)

Solutions

  1. Upgrade Claude Code to a version that supports /usage
  2. Verify with 'claude' in a terminal that /usage is listed as a command
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at agent/claudecode/claude_usage.go:446 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/bfc6202154889acb. Report an issue: GitHub.