NotPeopleNotPeople
X & Threads

How to Reset Your X Algorithm: What the Open-Source Code Says

Reset your X (Twitter) algorithm with the levers the open-source For You code actually reads: recent actions, mutes, Not interested, snoozed topics.

Konstantin Anisimov
Founder & CEO, NotPeople · September 26, 2026 · 13 min read
How to Reset Your X Algorithm: What the Open-Source Code Says

On August 14, a day after X published the ranking weights for its For You feed, a small account called @KingKongTurd posted what a lot of people were feeling: "You spend time to craft a good post and it gets 1 like. Then some asshole reports it even if it didn't violate rules and it functionally has -468 likes. Nice app you got here Elon."

The math came from the new code. A like is weighted 0.5, a report is weighted -234, and 234 divided by 0.5 is 468. Within hours the weights, and often the 468, were in explainer threads in English, Swahili, French, Spanish and Hindi. Nikita Bier, who led product at X, answered the same day with a joke about releasing the algorithm "as a gesture of good faith" and watching users misread it. X then added comments to the code itself, so that "LLMs or people reading it are more likely to understand it correctly."

The misreading matters for anyone who wants to reset their feed, because it comes from the same wrong picture. People imagine a scoreboard attached to each post. The code describes something closer to a mirror: the feed is a set of guesses about what you will do, built from what you did recently. Change what you do, and the guesses change. That is the whole reset, and it is why most of the reset guides ranking today point you at a settings page the ranking code never reads.

Quick answer

How do you reset your X algorithm? There is no reset button. The For You feed is ranked from your last ~1,000 actions, your follows, and your mutes, blocks and muted words, so a reset means replacing those inputs. Unfollow and mute what you are done with, tap "Not interested" on every unwanted post for a few sessions, add muted words, and engage only with what you want more of. Premium users can snooze a topic for 24 hours. Most people see a different feed within a day or two. For how ranking works, see below and our shadowban study.

Why the usual reset steps half work

The advice that dominates search is some version of this post from January 2026, which got nearly 5,000 views: go to Settings and privacy, then Privacy and safety, then Content you see, and uncheck the Topics and Interests you no longer want. Google's AI Overview for "how to reset x algorithm" gives the same path, adds "clear your search history," and cites a reply from Grok.

The trouble shows up when you read the request path in xai-org/x-algorithm. Every For You request starts by loading about twenty pieces of context about the viewer. They include the accounts you follow and mutually follow, the accounts you blocked and muted, the posts you have already seen, the topics you follow through X's Grok-labeled topic system, your starter packs, your demographics, and two sequences of your recent actions. The "Interests" list from the settings page is not among them. A search of the repository for "interests" returns nothing in the Rust, Python or proto code.

That does not make the settings page useless. The repository's own README says data feeds and some systems are left out of the release, and X's help pages tie interests to ad personalization. But if the question is "what does the For You ranker read on every request," the answer is mostly your behavior, and clearing a checkbox list changes little of it.

Clearing search history has the same problem. Search shows up in the model's action vocabulary as things you did with posts found through search. The list of past queries in the search box is a convenience for you, and deleting it does not rewrite what you tapped.

What the For You feed reads about you

The ranking model is a transformer that looks at a sequence of your recent actions and predicts what you will do with each candidate post. The parameters cap that sequence at 1,024 positions. Each entry carries the post, its author, what you did (liked, replied, watched 50% of a video, expanded a photo, dwelled), the time of day and which surface you were on.

The retrieval step that finds posts from accounts you don't follow works the same way, and it makes a choice that matters for resetting: production sets use_user_embedding = False. There is no learned vector for "you" that persists underneath your history. The phoenix README puts it plainly: beyond country and language, the user is represented by what they engaged with.

Practically, your feed has a memory of roughly your last thousand actions and not much else. That is good news for a reset. Old habits fall out of the window as new ones enter it.

InputWhat the code does with itHow fast it takes effect
Recent actions (up to 1,024)Main input to both retrieval and rankingAs fast as you replace them; a few active sessions
FollowsDecides the in-network pool (up to 1,200 posts per request)Next request
Muted and blocked accountsHard filter: their posts are removed before scoringNext request
Muted wordsHard filter on post textNext request
"Not interested"Feeds the not_interested head, weighted -43.2Accumulates over sessions
Snoozed topics (Premium)Hard filter by Grok topic label for 24 hoursNext request
Interests checklist in settingsNot read by name in the open-source request pathUnclear; may affect ads
Search history listNot read as a list; searches matter only through actionsLittle effect

How to reset your X algorithm, step by step

This takes about ten minutes to set up and a few days of normal use to settle. It works on the web and in both apps.

1. Switch to Following for a day. Tap the Following tab and set it to recent. You still use the app, but the actions you take there are on accounts you chose, which starts filling your history with signal you want.

2. Unfollow the accounts you are done with. Follows decide which posts enter the in-network pool at all. If the thing you want out of your feed comes from people you follow, no amount of "Not interested" will fix it, because followed accounts are exempt from the out-of-network penalties.

3. Mute accounts and words. Muted accounts and muted keywords are applied as filters before ranking, so they work on the very next refresh. Use muted words for topics that come from many accounts at once (a sport, a game, a news story). Muting is quieter than blocking and does the same job for your feed.

4. Tap "Not interested in this post" on everything unwanted, for three or four sessions. Each tap is a training example. The value model weights the predicted chance of this action at -43.2, one of the heaviest weights in the feed, so the model is built to learn from it quickly.

5. Snooze a topic if you have Premium. Since April 2026, Premium subscribers on iOS and the web can snooze a topic for 24 hours. In the code this becomes a separate request type that drops every candidate carrying that topic label. It is the fastest lever there is, and also the shortest.

6. Feed it what you want. Search for the subject you want more of, open posts, reply, follow two or three accounts that post about it. Replies, quotes and follows are the actions the value model weights most, so they move the feed most. Scrolling past without stopping counts too: a "not dwelled" action has its own small negative weight.

7. Pull to refresh a few times. The server keeps up to 750 scored posts from your last request to save work, and anything already served is filtered. A couple of refreshes clears out the old batch.

Premium users on iOS have one more option: custom timelines, launched April 22, 2026. You pin up to ten topic feeds (there are more than 75 topics) next to For You. It does not reset For You, but it gives the stuff you do want a separate home, which keeps your main history cleaner.

The one thing that truly starts from zero is a new account. The Reddit user who asked in r/Twitter whether there was "any way to do a hard reset" while "letting go of old interests" got that as the top suggestion. It is overkill. Because the model forgets anything that falls out of a thousand-action window, the steps above get you most of the way there.

How the X algorithm works (from the open-source code)

For creators, the reset question runs the other way: why does the feed show my post to some people and not others? Everything below is from the repository as of September 25, 2026 (commit bf7db1b). I first went through it for a research deck in mid-September and checked every number again against the newer commit for this piece; none of the weights had changed.

Candidates. Each request gathers roughly 3,000 posts: up to 1,200 from accounts you follow, 1,000 from a retrieval model that finds similar posts from accounts you don't, 800 from SimClusters (co-engagement clusters), and 750 cached from your last request. Anything older than 48 hours is dropped outright. There is no long tail.

Scoring. For each candidate, the model predicts about 25 actions you might take, and the score is a weighted sum of those probabilities:

ActionWeight
Share via copy link20.0
Reply to an original post from a mutual follow20.0 (5 + 15 boost)
Reply5.0
Quote5.0
Share via DM5.0
Follow the author4.0
Share2.0
Repost1.0
Like0.5
Click0.4
Video open0.07
Video quality view0.0
Not dwelled-0.02
Block author-31.2
Not interested-43.2
Mute author-58.8
Report-234.0

Why a report does not cancel 468 likes. The weights multiply your predicted probability of each action. The chance that a given viewer reports a given post is thousands of times smaller than the chance they like it, so the report weight has to be huge for that head to matter at all. And because predictions are per viewer, a wave of reports mostly changes what the feed shows to people who behave like the reporters. The code comment X added in August also says only actions on posts served in the Home timeline count; a post reached through a group-chat link has no ranking effect.

After the sum. Posts from accounts you don't follow are multiplied by a factor below one (its exact value is computed per request and is not in the published defaults). A mutual-follow reply boost went live in July 2026; X tested arms of 5, 10, 15 and 20, launched at 20, and cut it to 15 eleven days later after World Cup feedback that non-followed discussion was being crowded out. Small accounts get a cold-start lift: a post from an author with 1,000 followers or fewer, under 1,000 impressions and under 48 hours old can be moved up to slot 15 or 16.

Diversity. A final re-ranker (a determinantal point process over the top 150) trades a little score for variety, which is why you rarely see three posts about the same news event in a row.

Visibility is a separate system. Ranking decides order. A second pipeline, fed by spam, safety and account-trust classifiers, decides whether a post can be shown at all, through about sixty rules with three outcomes: allow, show behind a warning, or drop. Several rules apply only to people who don't follow you (one is literally named DoNotAmplifyNonFollower). That is the mechanism behind what creators call a shadowban, and it is invisible in your analytics.

What this means if you post on X

Three things follow directly from the numbers.

Write for forwarding and conversation. Copy-link shares and mutual replies are weighted 40 times a like. A post people send to a friend or argue under is worth more to the ranker than one they tap and scroll past. This is the case we made in reply-led growth, and the published weights back it.

Your window is 48 hours and 1,000 impressions. Candidacy ends at two days, and the small-account lift ends at a thousand impressions. Posting when your audience is asleep spends that window on nobody.

When reach falls off a cliff, check visibility before content. A sudden drop across every post is rarely the ranker changing its mind about your writing. It is more often a label on the account that triggers the out-of-network-only rules. Our shadowban study covers what triggers those labels, and X's own Under the Hood page (x.com/i/under_the_hood) now shows aggregate label counts for your account and, since September 18, legal withholdings by country.

Check whether your account is restricted

The same reasoning is behind the reply routing in the NotPeople MCP: a reply from a relevant account early in a post's 48-hour window reaches people the author's followers alone would not.

What the code does not show

The release has limits, and any article that claims more than they allow is guessing. The model weights themselves are not included, only the training code and synthetic data. The prompts behind the Grok safety classifiers and some labeling rules are withheld on purpose. The video tab uses its own queue and request path, and its weight set is not published. The out-of-network multiplier's value is computed at request time. And experiments smaller than about 10% of traffic, or any per-account override, do not show up in the repository at all.

So the reset steps above are what the published request path supports. If X has another system that reads your Interests list for For You, it is outside the release.

Source transparency

The @KingKongTurd post is from August 14, 2026 (x.com/KingKongTurd/status/2088106947526509018). Nikita Bier's reply is from the same day (x.com/nikitabier/status/2088305490875027514); his bio now reads "former head of product @x". Jay Baxter, a member of technical staff at X and xAI, made the same point about probabilities on August 13. The settings-path post is from @travisakers, January 4, 2026. The Reddit question is u/pleiop in r/Twitter, March 20, 2025. All weights, caps and filters are from home-mixer/params/param.rs, xai-value-model/, vm-ranker/, thunder/, phoenix/README.md and visibility-filtering/rules/registry.rs in xai-org/x-algorithm at commit bf7db1b (September 25, 2026). The bidirectional-follow timeline is from docs/BIDIRECTIONAL_BOOST_CHANGE.md. The absence of an Interests input is from a full-text search of the repository; I cannot rule out systems that are not in it. Topic snooze and custom timelines are from X's April 2026 rollout as reported by TechCrunch and PiunikaWeb.

Frequently asked

How do I reset my X algorithm? X has no reset button. Replace the inputs the feed reads: unfollow and mute accounts you are done with, add muted words, tap "Not interested" on unwanted posts for a few sessions, and engage with what you want to see. Premium users can also snooze a topic for 24 hours. Most feeds look different within a day or two.

How do I reset my Twitter algorithm? The same way. Twitter is X, and the For You feed runs on the same code. The steps are identical on the web, iPhone and Android.

Does unchecking Interests in settings reset the algorithm? Not by itself. The open-source For You request path does not read the Interests list by name; it reads your recent actions, follows, mutes, blocks, muted words and followed or snoozed topics. The Interests list may still affect ads.

Does clearing search history reset my X feed? Very little. The feed learns from what you do with posts, including ones you found through search. The saved list of past queries is not an input to ranking.

How long does it take for the X algorithm to reset? Mutes, blocks, unfollows, muted words and topic snoozes apply on the next refresh. The model's picture of you shifts as new actions replace old ones in a window of about a thousand, which for an active user is a few sessions.

How does the X algorithm work? For each post, a model predicts how likely you are to reply, share, like, report and so on, multiplies each probability by a published weight and adds them up. Copy-link shares and mutual replies weigh 20, replies and quotes 5, likes 0.5. Posts older than 48 hours are never shown in For You, and a separate visibility system can drop a post regardless of its score.

Is the X algorithm open source? Yes. X publishes it at github.com/xai-org/x-algorithm under Apache 2.0. The first release was January 2026; weights, filters and model code were added on August 13, 2026. The 2023 twitter/the-algorithm repository describes an older system and is out of date.

Does one report cancel 468 likes on X? No. The -234 report weight and the 0.5 like weight multiply predicted probabilities for each viewer, not counts. Since a report is far less likely than a like, the weight has to be large to matter at all. X added comments to the code in August 2026 to correct this reading.