chenhg5/cc-connect · error

[%s] %s

Error message

[%s] %s

What it means

Formats a Gemini CLI stream error event into an EventError: the severity field and message text from the JSON 'error' notification are combined as '[severity] message'. It relays agent-side runtime errors (API failures, tool errors) to the user rather than a cc-connect failure.

Source

Thrown at agent/gemini/session.go:387

	}

	if output != "" {
		evt := core.Event{Type: core.EventToolResult, ToolName: toolID, Content: truncate(output, 500)}
		select {
		case gs.events <- evt:
		case <-gs.ctx.Done():
			return
		}
	}
}

func (gs *geminiSession) handleError(raw map[string]any) {
	severity, _ := raw["severity"].(string)
	message, _ := raw["message"].(string)

	if message != "" {
		slog.Warn("geminiSession: error event", "severity", severity, "message", message)
		evt := core.Event{Type: core.EventError, Error: fmt.Errorf("[%s] %s", severity, message)}
		select {
		case gs.events <- evt:
		case <-gs.ctx.Done():
			return
		}
	}
}

func (gs *geminiSession) handleResult(raw map[string]any) {
	gs.flushPendingAsText()

	status, _ := raw["status"].(string)

	var errMsg string
	if status == "error" {
		errObj, _ := raw["error"].(map[string]any)
		if errObj != nil {
			errMsg, _ = errObj["message"].(string)

View on GitHub (pinned to 4000b2338a)

Solutions

  1. Read the bracketed message — it comes from the Gemini CLI itself
  2. Address the reported cause (quota, auth, network) and resend
  3. If severity is informational, no action may be needed
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at agent/gemini/session.go:387 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/d65abfc56fb8b2d6. Report an issue: GitHub.