Guide · about 9 min

When a lift stalls: a decision tree for lifters who log

Three sessions at the same load is only a stall when the estimated 1RM has stopped moving too. Read the log first: reps, RPE, weekly sets and days off each point to a different fix.

The usual mistake when a lift stalls is changing the program before reading the log. A new split, a new rep scheme or a new app all reset the evidence you need to see what went wrong. Three sessions at the same load is a stall only if the estimated 1RM has stopped climbing as well. If it is still rising, you are progressing in reps or effort and the load will follow. If it is flat or falling, the log usually says why: effort creeping up, too many weekly sets, a cut, or time away from the bar.

This guide walks the questions in the order worth asking them. Each one has a different answer, and most of them are not a new program. The numbers come from compute.mjs, the script that runs the app's own formulas, so you can check them against the one-rep max calculator.

First, check it is a stall at all

A stall is the load staying put while the estimated 1RM stays put with it. The load alone tells you very little. On double progression the bar is supposed to sit at one weight for several sessions while the reps climb. That is the scheme doing its job.

Take a 90 kg lifter squatting 120 kg. Over three sessions they log five reps, then six, then seven, every set at RPE 8. The bar never moved. The estimated 1RM went from 148 kg to 152.7 kg to 157.5 kg. That lifter is not stalled, and the app agrees: a rising estimated 1RM at a fixed load switches off the stall warning, so rep progress is never punished for holding the weight.

This is also why one bad session settles nothing. Strength moves from day to day for reasons unrelated to your program, which we covered in why a lift goes down when nothing changed. Wait for the third session before you call it.

The app's default threshold is three sessions without progress, and you can change it per exercise. Below that number it does not flag anything. At that number it looks at the trend before it decides.

Read RPE before you read the load

If the reps and the load are both flat, RPE is the next column to read. The same set getting harder is the clearest sign of fatigue a log can show, and it is invisible if you never record effort.

Here is the same 90 kg lifter on a bad run. Same 120 kg, same five reps, three sessions in a row:

Session Set RPE Estimated 1RM
1 120 kg x 5 8 148 kg
2 120 kg x 5 9 143.4 kg
3 120 kg x 5 10 139 kg

On paper the lifter did the same work three times. In the log they lost 9 kg of estimated 1RM, because each set took more out of them. That is not a plateau in strength yet. It is fatigue getting ahead of recovery, and the fix is to let recovery catch up.

Now strip the RPE out. A set logged without RPE is treated as RPE 10, the assumption every classic 1RM formula makes. All three sessions would read 139 kg, a flat line with no warning in it. The lifter would see a stall where the log could have shown a slide, and would probably pick the wrong fix.

Adjusting training on how you actually performed, or on how capable you felt that day, is what the research calls autoregulation [1]. RPE is the cheapest way to do it. One number per set turns a flat log into a readable one.

What the app does at three sessions, and at four

The app's answer depends on the trend, not just the count. At the threshold, with the estimated 1RM flat, it holds the load and says so. The suggestion is the same weight again, with a warning to check rest times, sleep and fatigue within the session. A hold is a test: if the next session moves, the stall was noise.

If the lift is still stuck one session past the threshold, the app suggests a small back-off and a rebuild. For the 120 kg squat that is 107.5 kg, rounded to a weight you can load with a 2.5 kg step. The same back-off comes straight away, without the hold session, when the estimated 1RM is clearly trending down. In the RPE table above, the slide from 148 kg to 139 kg is that case. Holding at 120 kg for another grinder would cost a week and teach nothing.

The suggestion is never written into your plan for you. You see the weight and the reason, and you choose. Rebuilding from 107.5 kg at RPE 8 gives the lifter several sessions of measurable progress on the way back to 120 kg, each one logged at an effort they can repeat.

Count the weekly sets

When effort creeps up across several lifts at once, look at the volume next. A lifter who has added sets every week of a block can end up doing more than they recover from, and the first sign is often a stall on the lift that gets trained hardest.

A review of trained lifters grouped studies into under 12, 12 to 20 and more than 20 weekly sets per muscle [2]. For the quads and the biceps, more than 20 did no better than 12 to 20. The triceps did better on more, so there is no hard ceiling. The authors offered 12 to 20 weekly sets as a standard recommendation for young, trained men, which is the honest scope of the finding [2].

So if your squat stalled at 24 weekly sets for the quads, cutting back toward 16 is a reasonable first move, and it costs you little. We go through how to count sets, including the half credit for indirect work, in how many sets per week per muscle. The app tracks weekly sets per muscle for 14 muscles, so the number is already there in your log when you need it.

Warm-ups never count toward that total. If your weekly count looks oddly high, check that ramp-up sets are logged as warm-ups and not as working sets.

Are you on a cut?

On a cut, a stall is often the plan. Eating below maintenance makes it harder to add load, and holding your strength while the scale drops is a good result.

The app is built around this. When a lifter is on a cut, no path in the progression engine can add load, so a held weight is the expected answer. If the lift is still holding, nothing needs fixing. If it is sliding, read the RPE column the same way as above and look at sleep and the pace of the cut before you touch the program.

Have you been away?

Time away from a lift changes the starting point, and the app treats a long gap differently from a stall. More than 30 days off a lift triggers a layoff reset: it suggests a lighter restart and a rebuild instead of the next weight.

For the 120 kg squat after six weeks off, that restart is 115 kg, 5 kg lighter. The same set after four days off would earn 122.5 kg. The gap is a margin, so the first sessions back are productive rather than grinders.

The research backs a lighter restart without pinning an exact number to it. A meta-analysis of 103 studies found that stopping resistance training reduced every measure of strength it looked at, and the loss grew with the length of the break [3]. It was larger in adults over 65, and larger in inactive people than in recreational athletes for maximal force [3].

When a deload is the answer

If the RPE has crept up across several lifts, the weekly sets are sensible and you have not been away, the answer is usually a deload. A Delphi panel of strength and physique coaches agreed on a definition: a period of reduced training stress, designed to reduce fatigue, promote recovery and prepare you for the training that follows [4]. The same paper notes deloads are generally taken every 4 to 6 weeks for about 7 days, though some last a single session and some two weeks [4].

The app has a deload week built into its blocks, and a planned deload never suggests an increase. During a deload week the stall logic is switched off, so a lighter week does not count as three sessions without progress. Our guide to how to deload covers what to cut and what to keep.

A deload leaves the program alone. The lifts, the days and the scheme stay the same. When the week is over, the lifter goes back to the last weight they handled well and builds from there.

Change the program last

If you have worked through every question and the lift is still stuck, then the program may be the problem. Even then, change one thing. A lifter on five reps at RPE 8 can move to the double progression scheme with a rep range above five, keep the exercise, and watch the estimated 1RM. Changing the scheme, the exercise and the days all at once leaves you with no idea which change worked.

An exercise swap is the other move the app itself suggests after a repeated stall. A paused squat or a front squat trains the same muscles with a fresh start, and the old lift keeps its own history for when you come back to it.

Work the questions in order: rep progress, RPE, the hold, weekly sets, the cut, time off, a deload, and only then the program. Each step is cheaper to try than the one after it.

Questions

How many sessions before a lift counts as stalled?

The app uses three sessions at the same load by default, and you can change that per exercise. Three is enough to rule out a single bad day and short enough that you do not waste a month. Even at three, the app checks the trend first: if the estimated 1RM is still rising because reps or effort improved, it is not flagged as a stall.

Should I drop the weight when a lift stalls?

Not on the first flag. Hold the load for one more session and fix rest, sleep and fatigue within the session. If the lift is still stuck one session later, a small back-off is reasonable: for a 120 kg squat the app suggests 107.5 kg. If the estimated 1RM is clearly falling, skip the hold and back off straight away.

Is a stall the same as a plateau?

In everyday use, yes, but a log lets you separate them. A stall is a few sessions with no progress at one load. A plateau is weeks of a flat estimated 1RM across loads and rep counts. Most stalls are fatigue or a missing RPE and clear within a week or two. A true plateau is the case for changing the program.

Why does a set logged without RPE hide a stall?

The model treats a set with no RPE as RPE 10, a true max. If the same 120 kg set of five gets harder each session, every one of them still reads 139 kg, so the log shows a flat line. With RPE logged, the same three sessions read 148 kg, 143.4 kg and 139 kg, and the slide is plain.

Sources

  • Baz-Valle E, Balsalobre-Fernández C, Alix-Fages C, Santos-Concejero J (2022). A systematic review of the effects of different resistance training volumes on muscle hypertrophy. Journal of Human Kinetics 81:199-210. doi:10.2478/hukin-2022-0017
  • Bell L, Strafford BW, Coleman M, Androulakis Korakakis P, Nolan D (2023). Integrating deloading into strength and physique sports training programmes: an international Delphi consensus approach. Sports Medicine - Open 9:87. doi:10.1186/s40798-023-00633-0
  • Bosquet L, Berryman N, Dupuy O, Mekary S, Arvisais D, Bherer L (2013). Effect of training cessation on muscular performance: a meta-analysis. Scandinavian Journal of Medicine and Science in Sports 23(3):e140-e149. doi:10.1111/sms.12047
  • Greig L, Stephens Hemingway BH, Aspe RR, et al. (2020). Autoregulation in resistance training: addressing the inconsistencies. Sports Medicine 50(11):1873-1887. doi:10.1007/s40279-020-01330-8