chenhg5/cc-connect · error
claudecode: missing usage percentage in %s block
Error message
claudecode: missing usage percentage in %s block
What it means
A parse guard in parseClaudeUsageWindow: the section header was found, but no line inside the block matched the usage-percentage regex. It fires when the block is present but its content layout differs from expectations (format change or truncated capture).
Source
Thrown at agent/claudecode/claude_usage.go:375
if i > start+1 && (strings.HasPrefix(lower, "current ") || strings.HasPrefix(lower, "extra usage")) {
break
}
if usedPercent == nil {
if m := claudeUsagePercentRe.FindStringSubmatch(line); len(m) == 2 {
v, _ := strconv.Atoi(m[1])
usedPercent = &v
continue
}
}
if resetRaw == "" {
if m := claudeUsageResetLineRe.FindStringSubmatch(line); len(m) == 2 {
resetRaw = strings.TrimSpace(m[1])
}
}
}
if usedPercent == nil {
return core.UsageWindow{}, fmt.Errorf("claudecode: missing usage percentage in %s block", header)
}
window := core.UsageWindow{
Name: header,
UsedPercent: *usedPercent,
WindowSeconds: windowSeconds,
}
if resetRaw != "" {
resetAt, err := parseClaudeUsageResetTime(resetRaw, now)
if err == nil {
resetAfter := int(resetAt.Sub(now).Round(time.Second).Seconds())
if resetAfter < 0 {
resetAfter = 0
}
window.ResetAfterSeconds = resetAfter
window.ResetAtUnix = resetAt.Unix()
}View on GitHub (pinned to 4000b2338a)
Solutions
- Update Claude Code and cc-connect to matching versions
- Inspect the captured block content to see what replaced the percentage line
- Retry once in case of a partially rendered screen
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at agent/claudecode/claude_usage.go:375 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/d908d4402fc19766.
Report an issue: GitHub.