RepublicanIn office since Nov 2018

Keith Wagoner

Washington State Senator, District 39 since 2018. Next on the ballot in 2028.

Washington State Senator, District 39

In office
7 yrs
Since 2018
Bills became law
5
37 sponsored, 2025–2026 session
Votes missed
0.0%
Chamber median 0.3%
With party
93%
On votes splitting the parties
Last margin
+21.0
Won 2024
Next election
2028
Nov 7, 2028

Source: Wikidata, congress-legislators and Open States; 99chambers legislative recordsUpdated Oct 27, 2026, 9:43 AM ET

Committees

As of 2026-10.

  • Legislative Audit and Review · vice chair
  • Veterans and Military Affairs · co-chair
  • Administrative Rules Review
  • Agriculture and Natural Resources
  • Law and Justice
  • Ways and Means

Source: Open States committeesUpdated Oct 27, 2026, 9:43 AM ET

Legislation

2025–2026 session · 37 sponsored · 5 became law
BillIntroCmteSenateHouseLaw
SB 5868 Adding an additional superior court judge in Skagit county and in Yakima county.
Became law Mar 2026
SB 5880 Concerning toxicology testing by certified or accredited laboratories.
Became law Mar 2026
SB 6046 Establishing the Washington division of civil air patrol as part of the Washington military department.
Became law Mar 2026
SB 5200 Concerning veterans' medical foster homes.
Became law Apr 2025
SB 5021 Concerning retention of court exhibits.
Became law Apr 2025

Source: Open States billsUpdated Nov 6, 2026, 4:22 PM ET

Voting record

2025–2026 session · placement by roll-call votes

Where Wagoner sits in the Washington State Senate

Wagoner is closer to the center than 53% of the chamber's Republicans.

Dem. medianRep. medianWagonerMore liberalMore conservative

Closest: John Braun, Nikki Torres, Perry Dozier

Source: 99chambers roll-call scalingUpdated Nov 6, 2026, 5:09 PM ET

With Wagoner’s party

  • Votes with the chamber's Republicans93%
  • Cosponsorships of the other party's bills42%

Black tick: the average of Republicans in the Washington State Senate.

Source: 99chambers legislative scores from roll calls and cosponsorships

Key votes

Votes chosen for their effect, not their side: Wagoner’s vote, each party’s majority, and the result. An orange vote differs from most Republicans.

Source: 99chambers key votes from Congress.gov, Voteview and Open States roll calls

Career

Offices held, and every time Wagoner was on a ballot. Filled marks are general elections won; hollow marks are primaries; an orange outline is a loss.

Source: 99chambers results archive (MEDSL, Klarner, state election offices)

Elections

Margin against the seat’s presidential baseline: how the seat voted for president in the same or nearest year.

YearRaceResultMargin
2024Washington State Senate, District 39WonR+21.0
2020Washington State Senate, District 39WonR+31.0
2018Washington State Senate, District 39LostR+17.9
2018Washington State Senate, District 39 (special)WonR+17.9

Source: 99chambers results archive

Seats Wagoner has held

Source: 99chambers results archive

Who Wagoner has run against

  • John Snow (D) · 2024 general, won
  • Kathryn A. Lewandowsky (I) · 2020 general, won
  • Claus Joens (D) · 2018 general, lost
  • Claus Joens (D) · 2018 general, won

Source: 99chambers results archive

How we know Wagoner

One person, matched across every source we use.

Source: Identity links: Wikidata, congress-legislators, Open States, FECUpdated Oct 27, 2026, 9:43 AM ET