What X published, and when
The For You ranking code has been public on GitHub (xai-org/x-algorithm) since January 20, 2026, and its live weights since August 13, 2026.
It started with a promise. On October 17, 2025, Elon Musk said X aimed to delete “all heuristics” within weeks, with a model reading every post. On November 27, 2025, the Following feed moved to Grok ranking too, with a chronological option kept. On January 10, 2026, he promised the code “in 7 days”, then a new release “every 4 weeks”.
The repository was created on January 19 and the first commit landed on January 20, 2026, announced by X’s engineering account. That first README describes ranking “using a Grok-based transformer” and claims to have removed “every single hand-engineered feature and most heuristics”.
| Date | What changed |
|---|---|
| Jan 20, 2026 | First code: architecture and a sample transformer |
| May 15, 2026 | Full pipeline, Grox classifiers, ads module |
| Aug 13, 2026 | Key configuration published, weights included |
| Aug 14, 2026 | Explanation of the weights |
| Sep 18, 2026 | The transparency tool also shows restrictions made for legal reasons |
Jan 20, 2026
- What changed
- First code: architecture and a sample transformer
May 15, 2026
- What changed
- Full pipeline, Grox classifiers, ads module
Aug 13, 2026
- What changed
- Key configuration published, weights included
Aug 14, 2026
- What changed
- Explanation of the weights
Sep 18, 2026
- What changed
- The transparency tool also shows restrictions made for legal reasons
The “every 4 weeks” promise slipped at first: no commits between late January and May 15, 2026. Since August the repository changes almost daily. Any number here can move, so every value in this guide is dated.
How X builds your feed
X gathers candidate posts, filters them, scores each one for you, then mixes the result so no single author or topic takes over the screen.
- Retrieval. Thunder supplies recent posts from accounts you follow. Phoenix and other sources (SimClusters, popular posts) look outside your follows for posts close to what you care about.
- Filters. Before scoring, X drops duplicates, posts older than 48 hours, your own posts, blocked or muted accounts, muted words, posts you have already seen, and reposts or replies from accounts you don’t follow.
- Score. For every post the model predicts the probability of each action and sums them with weights: final score = Σ (weight × probability of the action).
- Mixing. Home Mixer serves the feed in batches of 35 posts; vm-ranker reorders them to vary topics, and each extra post from the same author has its score multiplied by 0.5 (never below 0.25).
- Grox. Classifiers read text and media: categories, spam labels, safety. They mostly filter and label.
In the published settings, a post from outside your follows starts with a 0.75 factor compared with one from an account you follow. In practice, your own audience is the first circle: it sends the first signals.
The published weights, checked November 9, 2026
Copying a post’s link (+20), replying (+5), quoting or sharing by DM (+5) and following the author (+4) weigh far more than a like (+0.708); “Not interested” (−53), mute (−58.8) and report (−234) weigh more than anything.
| Predicted action | Weight | What it means |
|---|---|---|
| Copy link to post | +20 | The post is worth sending to someone |
| Reply | +5 (plus 15 between mutual followers) | The post gives a real reason to answer |
| Share by DM | +5 | The idea travels |
| Quote | +5 | The idea gets picked up and discussed |
| Follow the author | +4 | The post shows who you are and what you know |
| Share | +2.118 | |
| Repost | +1 | |
| Like | +0.708 | Likes count for little |
| Dwell after a click | +0.385 | The post holds attention once opened |
| Click | +0.274 | |
| Open a link | +0.2 | Links are not penalized |
| Dwell | +0.05 | |
| Not interested | −53.07 | Boring people is expensive |
| Mute the author | −58.8 | |
| Block the author | −31.2 | |
| Report | −234 | Never attack, never target |
Copy link to post
- Weight
- +20
- What it means
- The post is worth sending to someone
Reply
- Weight
- +5 (plus 15 between mutual followers)
- What it means
- The post gives a real reason to answer
Share by DM
- Weight
- +5
- What it means
- The idea travels
Quote
- Weight
- +5
- What it means
- The idea gets picked up and discussed
Follow the author
- Weight
- +4
- What it means
- The post shows who you are and what you know
Share
- Weight
- +2.118
- What it means
Repost
- Weight
- +1
- What it means
Like
- Weight
- +0.708
- What it means
- Likes count for little
Dwell after a click
- Weight
- +0.385
- What it means
- The post holds attention once opened
Click
- Weight
- +0.274
- What it means
Open a link
- Weight
- +0.2
- What it means
- Links are not penalized
Dwell
- Weight
- +0.05
- What it means
Not interested
- Weight
- −53.07
- What it means
- Boring people is expensive
Mute the author
- Weight
- −58.8
- What it means
Block the author
- Weight
- −31.2
- What it means
Report
- Weight
- −234
- What it means
- Never attack, never target
The mutual-follower reply bonus was A/B tested from July 10, 2026, shipped at 20 on July 13, then cut to 15 on July 24; it only applies to original posts from a mutual.
Two actions are predicted with a weight of 0: “Post video” (formerly “React with video”, renamed on October 30, 2026) and “Analyze with Grok” (added on November 4, 2026). The model already predicts them, but they don’t change the score yet. Profile clicks and video opens are also worth 0.
X warns about this itself: it would be wrong to conclude that one report “cancels out 468 likes” because its weight is hundreds of times larger. Predicted probabilities differ hugely between actions (reports are rare, likes are common), so a weight never reads on its own.
What moved since August 2026
Weights change often: in under three months the like went from 0.5 to 0.708 and “Not interested” from −43.2 to −53.07.
| Date | Change |
|---|---|
| Aug 13, 2026 | First published weights: like 0.5, “Not interested” −43.2, dwell 0 |
| Aug 25, 2026 | Dwell: 0 to 0.05 |
| Sep 29, 2026 | Dwell after click: 0 to 0.4; click: 0.4 to 0.3; “Not interested”: −47.52 |
| Oct 13, 2026 | Like: 0.5 to 0.6 |
| Oct 14, 2026 | Like: 0.66; “Not interested”: −52.272 |
| Oct 30, 2026 | “React with video” becomes “Post video” (weight 0) |
| Nov 3, 2026 | The ranker can report the 3 actions behind a post’s score |
| Nov 4, 2026 | New predicted action “Analyze with Grok” (weight 0) |
| Nov 5, 2026 | Like: 0.66 to 0.708; share: 2 to 2.118; click: 0.3 to 0.274; dwell after click: 0.4 to 0.385; continuous dwell time: 0.006 to 0.0075; video open: 0.02 to 0; “Not interested”: −52.272 to −53.07 |
Aug 13, 2026
- Change
- First published weights: like 0.5, “Not interested” −43.2, dwell 0
Aug 25, 2026
- Change
- Dwell: 0 to 0.05
Sep 29, 2026
- Change
- Dwell after click: 0 to 0.4; click: 0.4 to 0.3; “Not interested”: −47.52
Oct 13, 2026
- Change
- Like: 0.5 to 0.6
Oct 14, 2026
- Change
- Like: 0.66; “Not interested”: −52.272
Oct 30, 2026
- Change
- “React with video” becomes “Post video” (weight 0)
Nov 3, 2026
- Change
- The ranker can report the 3 actions behind a post’s score
Nov 4, 2026
- Change
- New predicted action “Analyze with Grok” (weight 0)
Nov 5, 2026
- Change
- Like: 0.66 to 0.708; share: 2 to 2.118; click: 0.3 to 0.274; dwell after click: 0.4 to 0.385; continuous dwell time: 0.006 to 0.0075; video open: 0.02 to 0; “Not interested”: −52.272 to −53.07
The direction is steadier than the numbers: what makes people share, reply and follow counts a lot, and what annoys them costs even more. Write for the direction, not for a formula. The November 5, 2026 tuning points the same way: a bit more for likes and shares, a bit less for clicks, and “Not interested” even more costly.
Since November 3, 2026, the ranker can also tell which actions make up a post’s score: up to 3, each worth at least 10% of the total, returned only to X’s transparency tool. It helps explain a ranking; it is not a new weight.
The window for small accounts
X gives extra reach to recent original posts from authors with up to 50,000 followers, while they have fewer than 200 impressions and are less than 2 hours old.
This setting exists to surface new authors. Replies and reposts don’t qualify. It changed twice in September 2026: on September 17 the maximum age went from 24 to 48 hours; on September 30 it dropped to 2 hours, the impression threshold went from 1,000 to 200 and the follower cap from 1,000 to 50,000.
What it means for you: the first hours of a post matter, for a plain reason. A post that goes out while your audience is online gets its first signals while it is still being helped. The guide on the best time to post shows how to find that moment for your own account.
What changed in October 2026
X now leans harder on time spent reading: a post people read to the end is more likely to be shown, and recent posts from small accounts are less often cut before they get scored.
In mid-October 2026, Elon Musk announced two changes: a new ranking model that better predicts how long someone will spend on a post, and a retrieval model trained to surface posts people read all the way through. Reading time was already one of the predicted actions in the code X publishes; what changes is how much it counts when posts are picked.
According to the code published by X, a filter switched on October 22, 2026 splits candidate posts differently when there are too many to score (2,800 per refresh of the For You feed): the cut is shared in proportion across sources, instead of dropping the most recent posts first. Recent posts from small accounts should benefit, with no guarantee: the effect depends on the number of candidates, and X does not say what actually runs in production. The action weights themselves did not move that month.
- A hook that keeps its promise: a reader who drops off because the post does not deliver what the first line announced is a lost signal.
- Every line makes them want the next one: no filler, no slow middle. A long post only works if it stays dense to the end; otherwise keep it short.
- An ending that pays off: the number, the lesson, how the story turned out. Never a recap of what you just said.
- In a thread, every post gives a reason to open the next: only the first one travels in For You.
Reading time is not part of the stats X shares with tools: Hypepen does not measure it and does not claim to.
What changed since the 2023 algorithm
In 2023, a reply the author engaged with was weighted 75; that weight is gone from the 2026 code, replaced by share, follow and reading signals.
Twitter first published its algorithm on March 31, 2023 (twitter/the-algorithm): about 1,500 candidate tweets, roughly half from accounts you follow and half from elsewhere. The weights from that period, dated April 5, 2023, are behind most of the advice still repeated today.
| Signal | 2023 | 2026 |
|---|---|---|
| Like | 0.5 | 0.708 |
| Repost | 1 | 1 |
| Reply | 13.5 | 5 (plus 15 between mutuals) |
| Reply engaged by the author | 75 | Gone |
| Copy link | Not present | 20 |
| Report | −369 | −234 |
Like
- 2023
- 0.5
- 2026
- 0.708
Repost
- 2023
- 1
- 2026
- 1
Reply
- 2023
- 13.5
- 2026
- 5 (plus 15 between mutuals)
Reply engaged by the author
- 2023
- 75
- 2026
- Gone
Copy link
- 2023
- Not present
- 2026
- 20
Report
- 2023
- −369
- 2026
- −234
Answering the people who reply to you is still smart: it builds a conversation, more replies and followers who come back. But “×75” is no longer a rule in the code. The guide on replying to your mentions explains why conversation still pays.
Myths you can drop
Links are not penalized, Premium is not a multiplier written into the code, and no decisive 30-minute window appears in it.
- “Links are penalized.” Nikita Bier, head of product at X, wrote on April 8, 2026 that links were never deranked and now get the same shot as any post; on July 28, 2026, that you no longer need to put the link in a reply. In the code, opening a link is worth +0.2. A link still takes the reader away, so the post should stand on its own.
- “The author’s reply is worth ×75.” That was 2023. The weight is gone in 2026.
- “Premium multiplies your reach by 4.” No such multiplier appears in the published weights. A subscription unlocks formats (long posts, Articles), not a ranking bonus written into the code.
- “Hashtags get you discovered.” Out-of-network discovery works through topic similarity (Phoenix, SimClusters), not hashtags. One or two at most, if they help the reader.
- “The banger score.” “Banger” is the name of a Grox screening pass, not a ranking score. Likewise, a slop_score exists in Grox but does not appear as a ranking weight.
What it changes for your writing
Write posts people want to send, discuss and follow you for; avoid anything that makes them reach for “Not interested”.
- One clear idea you can sum up in a sentence: that is what people copy and send (copy link +20, DM share +5).
- A real reason to reply when the topic allows: a firm, argued take or an open question, never “comment YES”.
- A stable topic: people follow someone for what they know. Clear content pillars make every post useful to the same audience (the personal branding guide shows how to pick them).
- Space out your posts: a second post from the same author in the same batch has its score halved. One solid post beats three crammed together.
- No bait, no duplicates, no aggression: what annoys or shocks costs dozens of times more than a like brings.
- Readable text: the first line shows on its own in the feed; check the length with the X character counter.
For the platform’s vocabulary (impressions, For You, Community Notes…), the X glossary has a short definition of each term.
Frequently asked questions
Is the X algorithm really open source?
Yes: the For You ranking code is on GitHub (xai-org/x-algorithm) under the Apache 2.0 license since January 20, 2026, and its weights since August 13, 2026. Not every trained model or dataset is published.
Which action counts most for the X algorithm?
As of November 9, 2026, copying a post’s link has the highest positive weight (+20), ahead of replies, quotes and DM shares (+5). Reports have the most negative weight (−234).
Do external links hurt reach on X?
Not according to X: its head of product wrote in April 2026 that links were never deranked, and opening a link is worth +0.2 in the code. A link still takes the reader away, so the post should be worth reading without clicking.
How long can a post appear in For You?
48 hours: the code filters out older posts before scoring. The small-account window only lasts 2 hours since September 30, 2026.