chenhg5/cc-connect · error

claudecode: Claude Code exited before /usage rendered: %w

Error message

claudecode: Claude Code exited before /usage rendered: %w

What it means

Raised by the /usage probe when the Claude Code process exits (cmd.Wait returns) before a usable usage screen was captured, and the exit produced a non-zero status. The wrapped error is the process's exit error; no recognized error-screen pattern matched first.

Source

Thrown at agent/claudecode/claude_usage.go:173

				return usageScreen, nil
			}
			if screenErr := detectClaudeUsageOutputError(lastScreen, stderr.String()); screenErr != nil {
				return "", screenErr
			}
			return "", fmt.Errorf("claudecode: timed out waiting for Claude Code /usage panel: %w", probeCtx.Err())
		case err := <-readDone:
			if err != nil {
				return "", fmt.Errorf("claudecode: read Claude Code /usage output: %w", err)
			}
		case <-processDone:
			if usageScreen != "" {
				return usageScreen, nil
			}
			if screenErr := detectClaudeUsageOutputError(lastScreen, stderr.String()); screenErr != nil {
				return "", screenErr
			}
			if waitErr != nil {
				return "", fmt.Errorf("claudecode: Claude Code exited before /usage rendered: %w", waitErr)
			}
			return "", fmt.Errorf("claudecode: Claude Code exited before /usage rendered")
		case <-ticker.C:
			screen := normalizeClaudeUsageText(terminal.String())
			if screen != lastScreen {
				lastScreen = screen
				lastChange = time.Now()
			}
			if usageReady(lastScreen) {
				if usageScreen == "" {
					usageScreen = lastScreen
				}
			}
			if screenErr := detectClaudeUsageOutputError(lastScreen, stderr.String()); screenErr != nil {
				return "", screenErr
			}
			if usageScreen != "" && time.Since(lastChange) >= claudeUsageStableFor {
				return usageScreen, nil

View on GitHub (pinned to 4000b2338a)

Solutions

  1. Run claude manually to see why it exits early
  2. Check authentication and network connectivity for the Claude CLI
  3. Update Claude Code to the latest version
Defensive patterns

Strategy: try-catch

When it happens

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