GENESISCODE DOCTOR AI
GENESIS REPAIR KNOWLEDGE NETWORK

GitHub Actions 2,500+ Workflow-Run Counts: Dashboard & API Guide

QUICK ANSWER

GitHub changed filtered Actions workflow-run queries on September 25, 2026 so searches by workflow, event, status, branch or actor report “2,500+” when more than 2,500 records match instead of attempting an exact total. GitHub says paginated results still return up to 1,000 items for a filtered search and recommends narrowing filters, such as with a date range, when an integration needs more than 2,500 matching runs. Treat 2,500+ as a lower bound rather than the exact integer 2,500, and do not infer the hidden total from page count.

Common symptoms

  • A dashboard expects every workflow-run total to be an exact number
  • A reporting job treats 2,500+ as exactly 2,500 and undercounts activity
  • A collector assumes pagination reveals every matching run from one broad filtered search
  • Historical analytics depend on one oversized workflow-run query

Possible causes

  • GitHub says exact counts above 2,500 frequently timed out and could show the number found before timeout rather than the true count
  • The September 25 change replaces that misleading exact-looking value with the explicit lower bound 2,500+
  • Filtered workflow-run searches have a separate up-to-1,000-result retrieval limit
  • Broad analytics need narrower query windows when exact enumeration is required
HOW TO FIX IT

Work from the safest step to the harder repair.

  1. Step 1. Inventory dashboards, scripts and reports that read workflow-run counts or assume one broad query returns an exact total.
  2. Step 2. Represent 2,500+ as a lower-bound state rather than silently converting it to the integer 2,500.
  3. Step 3. Keep count semantics separate from record retrieval. GitHub says filtered searches continue to return up to 1,000 items.
  4. Step 4. When exact historical enumeration is required, narrow the query. GitHub specifically recommends adding a date range.
  5. Step 5. Use non-overlapping windows and deduplicate workflow runs by stable run identity when aggregating slices.
  6. Step 6. For alerting, a 2,500+ response can prove that a threshold at or below 2,500 was exceeded, but it cannot prove an exact value above that boundary.
  7. Step 7. Update exports and user-facing copy so consumers know whether a value is exact, lower-bounded or incomplete.
  8. Step 8. Add tests for exact counts, the 2,500+ lower-bound state, the 1,000-result retrieval ceiling and adjacent date windows.
  9. Step 9. Validate the revised collection logic against a representative high-volume repository before relying on it for historical reporting.

Need the actual code? Go to GenesisCodeDoctor.com to search the Code Store or request code for the exact platform, error, and repair you are working on.

TROUBLESHOOTING DECISION TREE

Use evidence to decide the next move.

  1. 1. Only need to know whether activity exceeded a threshold at or below 2,500? Use 2,500+ as a lower-bound signal.
  2. 2. Need an exact count above 2,500? Partition the query with bounded filters such as date ranges and aggregate the slices.
  3. 3. Need actual matching run records? Design narrower partitions around the documented filtered-search retrieval limit.
  4. 4. Dashboard only accepts numbers? Add a precision/status field rather than coercing the lower bound into an exact integer.
REPAIR FLOW

A visual path from symptom to verified production.

Observe
Protect
Isolate
Repair
Test
Publish
Verify live
BEFORE YOU PASTE CODE

Protect the working site first.

  • Model count precision explicitly so exact and lower-bound values remain distinguishable before rendering.
  • Use non-overlapping query windows and stable workflow-run IDs when aggregating history.
  • Record the query window and completeness state so later analytics do not silently mix partial and exact data.
STOP AND GET HELP WHEN

Do not turn a repair into a larger outage.

  • Do not present 2,500+ as exactly 2,500.
  • Do not claim one filtered search can enumerate every match when GitHub documents an up-to-1,000 result limit.
  • Do not invent an exact total by extrapolating page size or recent workflow volume.
HOW GENESIS HANDLES IT

Diagnose the exact failure before choosing a repair.

Genesis separates the visible symptom from the underlying technical cause. Run the supported diagnostic first, review the evidence, and then use a matching repair only when the failure is actually verified.

Platform scope
GitHub Actions · REST API · github.com · GitHub Enterprise Cloud
Category
API integrations · Observability · Analytics correctness · CI/CD operations
Last updated
2026-09-25
REPAIR PROFILE

Know the complexity before you edit.

Difficulty
Intermediate
Change risk
Medium

These labels describe implementation complexity and blast radius, not a guaranteed repair time.

AUTHORITATIVE SOURCES

Verify time-sensitive platform details at the source.

COMMON QUESTIONS

Before you make the change

What does 2,500+ mean?

More than 2,500 workflow runs matched the filtered query; GitHub no longer attempts an exact total above that boundary.

Can I parse 2,500+ as 2500?

Only as a minimum bound, never as the exact total.

Can pagination reveal the hidden total?

No. GitHub documents a separate up-to-1,000 result limit for these filtered workflow-run searches.

How do I get more precise history?

Use narrower filters such as date ranges, aggregate non-overlapping slices and deduplicate by workflow-run identity.

Next step

Start with a free diagnostic. If Genesis verifies a problem and a compatible treatment exists, continue to the matching Code Store product or repair path. If you cannot find the exact code you need, request it at GenesisCodeDoctor.com rather than forcing a generic snippet into the wrong platform.