multica-ai/multica · error

get issue usage: %w

Error message

get issue usage: %w

What it means

After resolving the issue, `multica issue usage` GETs /api/issues/{id}/usage (URL-escaped). This error wraps the fetch failing: server-side aggregation error, permission denial, removed issue, or transport problems.

Source

Thrown at server/cmd/multica/cmd_issue.go:2157

}

func runIssueUsage(cmd *cobra.Command, args []string) error {
	client, err := newAPIClient(cmd)
	if err != nil {
		return err
	}

	ctx, cancel := cli.APIContext(context.Background())
	defer cancel()

	issueRef, err := resolveIssueRef(ctx, client, args[0])
	if err != nil {
		return fmt.Errorf("resolve issue: %w", err)
	}

	var result map[string]any
	if err := client.GetJSON(ctx, "/api/issues/"+url.PathEscape(issueRef.ID)+"/usage", &result); err != nil {
		return fmt.Errorf("get issue usage: %w", err)
	}

	output, _ := cmd.Flags().GetString("output")
	if output == "json" {
		return cli.PrintJSON(os.Stdout, result)
	}

	// JSON numbers decode to float64; formatMetadataValue renders them as clean
	// integers (no scientific notation for large cache-token counts).
	headers := []string{"INPUT_TOKENS", "OUTPUT_TOKENS", "CACHE_READ", "CACHE_WRITE", "RUNS"}
	rows := [][]string{{
		formatMetadataValue(result["total_input_tokens"]),
		formatMetadataValue(result["total_output_tokens"]),
		formatMetadataValue(result["total_cache_read_tokens"]),
		formatMetadataValue(result["total_cache_write_tokens"]),
		formatMetadataValue(result["task_count"]),
	}}
	cli.PrintTable(os.Stdout, headers, rows)

View on GitHub (pinned to 2c0912b6ec)

Solutions

  1. Retry — usage aggregation failures are often transient.
  2. Verify token scope covers the usage endpoint.
  3. Check server logs/metrics if a specific issue consistently fails.
Defensive patterns

Strategy: retry

Validate before calling

# bash: pre-flight auth and issue before usage
multica issue get "$ISSUE" >/dev/null 2>&1 || { echo "issue/auth problem" >&2; exit 2; }

Try / catch

# bash: retry once on server-side aggregation hiccups
multica issue usage "$ISSUE" 2>/tmp/err || {
  grep -qE '50[0-3]|timeout' /tmp/err && exec multica issue usage "$ISSUE"
  cat /tmp/err >&2; exit 1;
}

Prevention

When it happens

Trigger: The usage endpoint 5xx-ing (e.g. aggregation over a huge run history); scope-limited tokens; issue deleted mid-command; network failure.

Common situations: Usage queries against issues with very many task runs; service accounts without usage read scope.

Related errors


AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15). Data as JSON: /api/errors/f973e24d3b842793. Report an issue: GitHub.