This Veterans Day, we honor those who put on the uniform to keep our country safe.
But our heroes deserve more than applause once a year—they deserve to be honored every day, not with layoffs or cuts jeopardizing their care.
We owe it to them to do right by those who served.

Congress Member Profile|U.S. Senator|Democrat|Illinois
Tammy Duckworth
Source: Wikipedia • View full (CC BY-SA)
SoupScoreanalysis-first civic rating · view full breakdown
Loading…
Voting Record — 772
Yes27%
No66%
Present0%
Not Voting8%
Party align97%
Cross-party2%
SoupScore
District Map
Senate District (Statewide)
U.S. Census Bureau boundary data.
Social & Web
External Resources

Tammy Duckworth
U.S. SenatorDemocratIllinois
SoupScore
Tammy's ATmosphere Activity
20 recent posts · 48 sponsored · 357 cosponsored
Recent ATmosphere posts, sponsorships, and cosponsorships.
It’s just plain stupid to encourage our most experienced controllers to quit, given the job’s rigorous training requirements and the shortage of controllers.
We should be trying to retain our most experienced controllers, not slandering them and pushing them to leave their careers early.
This is the time to keep fighting to bring costs down and protect the American people.
Trump and Republicans refuse to fight for American families, but I refuse to give up on them.
I simply cannot vote to do nothing to help protect them from Trump’s vindictive efforts in exchange for a vague promise from the least trustworthy Republican party in our nation’s history.
If Trump believes war is necessary, he must bring his case to Congress and prove why it's worth turning more moms and dads into Gold Star parents.
Let Congress debate. Let us vote. It's our duty.
Time and again, Trump's agents are using excessive force that “shocks the conscience.”
Just this week, they violently tore a teacher—with legal work authorization—from a preschool as children watched on in horror.
I'm demanding investigations. Trump has gone too far.
Today, I voted in support of a resolution that would force Trump to get congressional approval before using military force against Venezuela.
Senate Republicans blocked it—ceding their constitutional authority to Trump.
Once again, they bent the knee to a wanna-be king.
This judge ordered the Trump Administration to release all its SNAP funding by Friday because, in his own words, "Children are immediately at risk of going hungry."
How sick do you have to be to appeal that order?
Our President straight up wants kids to starve.
Armed agents are chasing teachers through preschools. Toddlers are watching in horror.
This doesn't do a damn thing to make us safer.
Trump is going after people with work permits, not the "worst of the worst."
And he's traumatizing our kids for life.
It's Day 36 of the Republican shutdown, the longest in American history.
All because the GOP refuse to work with Democrats to prevent families from paying hundreds extra per month for health care.
And it appears voters agree:
This is a colossal failure in leadership.
The only people refusing to show up to work are House Republicans.
If you are willing to defy court orders to starve 42 million Americans, you have lost your humanity.
Trump needs to follow the law and fully fund SNAP benefits.
NEW: Senator Durbin and I are demanding that Kristi Noem put a stop to DHS arresting people for filming agents attacking their neighbors.
How dare DHS call foul play while it uses taxpayer dollars to record propaganda videos?
It is legal to record. It's called accountability.
As someone who grew up counting every last SNAP dollar, this is intentionally cruel.
Trump has the money to provide full SNAP benefits during the Republican shutdown—and he's choosing to let families struggle.
Hungry children deserve full bellies. Not crumbs.
While Trump spent the weekend golfing on the taxpayer's dime, millions are starting the week unsure how they'll buy groceries without SNAP benefits.
Unconscionable.
Example #3: When Daniel Montenegro tried to film a Border Patrol raid at a Home Depot, agents tackled him, injured his back and falsely accused him of using tire spikes to attack vehicles.
They’re assaulting citizens for documenting their violence.
We need investigations. Now.
Open enrollment starts this week—and millions of Americans are finding out just how much their premiums have skyrocketed after Republicans let ACA tax credits expire.
Make no mistake: the GOP owns this crisis.
They had every opportunity to prevent this fallout and are still choosing not to.
Earlier this month, the Administration publicly stated it had billions in funding to continue SNAP during the Republican shutdown.
Then Trump decided he'd rather let millions of Americans starve.
Today, two federal courts reminded him that it's not his choice.
It’s the law.
SoupScore Breakdown
Loading analysis metrics…
Voting History772 total votesExpandCollapse
Voting History
772 total votes
Recent roll calls with party-majority context so it is easier to scan how this member tends to vote.
| Date | Bill | Question | Position | Party Maj | Align? | Result |
|---|---|---|---|---|---|---|
| 2026-01-29 | H.R. 7148 (119th) | End filibuster to begin debate | NO | NO | ✓ | Cloture on the Motion to Proceed Rejected (45-55, 3/5 majority required) |
| 2026-01-27 | S. 3627 (119th) | End filibuster to begin debate | NO | NO | ✓ | Cloture on the Motion to Proceed Rejected (47-45, 3/5 majority required) |
| 2026-01-15 | H.R. 6938 (119th) | Final passage | YES | YES | ✓ | Bill Passed (82-15) |
| 2026-01-15 | H.R. 6938 (119th) | End debate | YES | YES | ✓ | Cloture Motion Agreed to (85-14, 3/5 majority required) |
| 2026-01-14 | S.J. Res. 98 (119th) | Point of Order S.J.Res. 98 | NO | NO | ✓ | Point of Order Well Taken (50-50, Vice President of the United States, voted Yea) |
| 2026-01-13 | S.J. Res. 84 (119th) | Begin consideration | YES | YES | ✓ | Motion to Proceed Rejected (47-52) |
| 2026-01-12 | H.R. 6938 (119th) | End filibuster to begin debate | YES | YES | ✓ | Cloture on the Motion to Proceed Agreed to (80-13, 3/5 majority required) |
| 2026-01-08 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (53-40) |
| 2026-01-08 | S.J. Res. 98 (119th) | Motion to Discharge S.J.Res. 98 | YES | YES | ✓ | Motion to Discharge Agreed to (52-47) |
| 2026-01-07 | S.J. Res. 86 (119th) | Begin consideration | YES | YES | ✓ | Motion to Proceed Rejected (43-50) |
| 2026-01-06 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (52-48) |
| 2026-01-06 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (53-47) |
| 2026-01-05 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (50-35) |
| 2025-12-18 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (51-42) |
| 2025-12-18 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (60-35) |
| 2025-12-18 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (58-36) |
| 2025-12-18 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (53-43) |
| 2025-12-18 | S. Res. 532 (119th) | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (53-43) |
| 2025-12-18 | S.J. Res. 82 (119th) | Joint Resolution S.J.Res. 82 | YES | YES | ✓ | Joint Resolution Defeated (50-50) |
| 2025-12-17 | S. Res. 412 (119th) | End debate | NO | NO | ✓ | Cloture Motion Agreed to (53-47) |
| 2025-12-17 | — | Confirm nominee | YES | NO | ✕↔ | Nomination Confirmed (71-29) |
| 2025-12-17 | — | End debate | YES | NO | ✕↔ | Cloture Motion Agreed to (69-27) |
| 2025-12-17 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (67-30) |
| 2025-12-17 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (67-30) |
| 2025-12-17 | S. 1071 (119th) | Accept House changes | NO | YES | ✕ | Motion Agreed to (77-20) |
| 2025-12-15 | S. 1071 (119th) | End debate | NO | YES | ✕ | Cloture Motion Agreed to (76-20, 3/5 majority required) |
| 2025-12-11 | S. 1071 (119th) | Begin consideration | NO | YES | ✕ | Motion to Proceed Agreed to (75-22) |
| 2025-12-11 | S. Res. 532 (119th) | Resolution S.Res. 532 | NO | NO | ✓ | Resolution Agreed to (52-47) |
| 2025-12-11 | S. 3385 (119th) | End debate | YES | YES | ✓ | Cloture Motion Rejected (51-48, 3/5 majority required) |
| 2025-12-11 | S. 3386 (119th) | End debate | NO | NO | ✓ | Cloture Motion Rejected (51-48, 3/5 majority required) |
| 2025-12-10 | S. Res. 532 (119th) | End debate | NO | NO | ✓ | Cloture Motion Agreed to (51-47) |
| 2025-12-10 | S.J. Res. 82 (119th) | Begin consideration | YES | YES | ✓ | Motion to Proceed Agreed to (50-49) |
| 2025-12-09 | — | Confirm nominee | NOT_VOTING | NO | — | Nomination Confirmed (51-46) |
| 2025-12-09 | — | End debate | NOT_VOTING | NO | — | Cloture Motion Agreed to (49-46) |
| 2025-12-09 | — | Confirm nominee | NOT_VOTING | NO | — | Nomination Confirmed (49-46) |
| 2025-12-09 | — | End debate | NOT_VOTING | NO | — | Cloture Motion Agreed to (51-46) |
| 2025-12-09 | — | Confirm nominee | NOT_VOTING | NO | — | Nomination Confirmed (51-46) |
| 2025-12-08 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (52-44) |
| 2025-12-04 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (57-32) |
| 2025-12-04 | S. Res. 520 (119th) | End debate | NO | NO | ✓ | Cloture Motion Rejected (43-37, 3/5 majority required) |
| 2025-12-04 | H.J. Res. 131 (119th) | Joint Resolution H.J.Res. 131 | NO | NO | ✓ | Joint Resolution Passed (49-45) |
| 2025-12-03 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (63-34) |
| 2025-12-03 | S.J. Res. 91 (119th) | Begin consideration | NO | NO | ✓ | Motion to Proceed Agreed to (49-47) |
| 2025-12-03 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (57-41) |
| 2025-12-03 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (56-40) |
| 2025-12-02 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (60-39) |
| 2025-12-02 | — | End debate | NOT_VOTING | NO | — | Cloture Motion Agreed to (61-36) |
| 2025-12-02 | — | Confirm nominee | NOT_VOTING | NO | — | Nomination Confirmed (53-45) |
| 2025-12-01 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (50-41) |
| 2025-11-20 | H.J. Res. 130 (119th) | Joint Resolution H.J.Res. 130 | NO | NO | ✓ | Joint Resolution Passed (51-43) |
Alignment stats consider only votes where a clear yes/no majority existed for the legislator's party. Cross-party marks divergence where the vote matched the opposite party majority. ↔ indicates cross-party divergence.