{"record":{"id":"629cd92a738c41fc","repo":"chenhg5/cc-connect","slug":"claudecode-claude-code-is-not-logged-in-for-usag","errorCode":null,"errorMessage":"claudecode: Claude Code is not logged in for /usage; run `claude auth login`","messagePattern":"claudecode: Claude Code is not logged in for /usage; run `claude auth login`","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agent/claudecode/claude_usage.go","lineNumber":448,"sourceCode":"\t\tresetAt := time.Date(nowInLoc.Year(), parsed.Month(), parsed.Day(), parsed.Hour(), parsed.Minute(), 0, 0, loc)\n\t\tif !resetAt.After(nowInLoc) {\n\t\t\tresetAt = resetAt.AddDate(1, 0, 0)\n\t\t}\n\t\treturn resetAt, nil\n\t}\n\n\treturn time.Time{}, fmt.Errorf(\"unsupported reset time %q\", raw)\n}\n\nfunc detectClaudeUsageOutputError(screen, stderr string) error {\n\tjoined := strings.ToLower(strings.TrimSpace(screen + \"\\n\" + stderr))\n\tswitch {\n\tcase joined == \"\":\n\t\treturn nil\n\tcase strings.Contains(joined, \"unknown command\") && strings.Contains(joined, \"/usage\"):\n\t\treturn fmt.Errorf(\"claudecode: this Claude Code version does not support /usage; please upgrade Claude Code\")\n\tcase strings.Contains(joined, \"auth login\") || strings.Contains(joined, \"not logged in\") || strings.Contains(joined, \"sign in\"):\n\t\treturn fmt.Errorf(\"claudecode: Claude Code is not logged in for /usage; run `claude auth login`\")\n\tcase strings.Contains(joined, \"/usage\") && (strings.Contains(joined, \"not available\") || strings.Contains(joined, \"not supported\") || strings.Contains(joined, \"subscription\")):\n\t\treturn fmt.Errorf(\"claudecode: current Claude account does not support /usage\")\n\tdefault:\n\t\treturn nil\n\t}\n}\n\ntype claudeUsageTerminal struct {\n\tmu    sync.RWMutex\n\tlines [][]rune\n\trow   int\n\tcol   int\n}\n\nfunc newClaudeUsageTerminal() *claudeUsageTerminal {\n\treturn &claudeUsageTerminal{\n\t\tlines: [][]rune{nil},\n\t}","sourceCodeStart":430,"sourceCodeEnd":466,"githubUrl":"https://github.com/chenhg5/cc-connect/blob/4000b2338aa6e850c99df54f8b0ed6ed7460b401/agent/claudecode/claude_usage.go#L430-L466","documentation":"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.","triggerScenarios":"Thrown at agent/claudecode/claude_usage.go:448 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Run 'claude auth login' (or the appropriate login flow) on the host","Ensure the daemon user shares the logged-in claude credentials","Retry /usage after authenticating"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4000b2338aa6e850c99df54f8b0ed6ed7460b401","analyzedAt":"2026-09-06T11:45:09.575Z","contentChangedAt":"2026-09-06T11:45:09.575Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}