DemocratNo state or federal office heldLost the 2026 general
Chris Kleinjans
Lost the 2026 race for Michigan Senate District 31.
Every race Kleinjans has run
Baseline: how the seat voted for president in the same or nearest year. Running ahead of it means Kleinjans won voters the party’s presidential nominee did not; primaries have no baseline.
| Year | Office | Stage | Result | Opponents | Share | Margin | Baseline | Against baseline |
|---|---|---|---|---|---|---|---|---|
| 2026 | Michigan Senate District 31 | General | Lost | John Wetzel (R) | — | — | R+18.8 |
Source: 99chambers results archive; 2026: civicAPI (unofficial)Updated Nov 8, 2026, 7:01 PM ET
Who Kleinjans has run against
- John Wetzel (R) · 2026 general, lost
Source: 99chambers results archive; 2026: civicAPI (unofficial)
The seat
- Michigan Senate District 31 · lean R+19.1 · 27th most Democratic of 38
Source: 99chambers: presidential results on current lines (MEDSL precinct returns)