If your Roborock keeps getting stuck on carpet, the fix depends on which of four problems you actually have — and most guides mash them all together. A robot that spins on top of a rug, a robot that can't climb onto one, a side brush tangled in fringe, and a robot that refuses to clean dark carpet at all are four different failures with four different solutions.
This guide walks you through diagnosing which one you've got, then fixes each in under 10 minutes. Everything here is based on Roborock's official support docs and several hundred forum threads where owners actually solved the problem.
30-Second Summary
- Stuck ON the rug (spinning, can't escape) → clean the side brush, then set a No-Go Zone
- Can't climb ONTO the rug → your carpet pile is likely above the 20mm limit; set it to Avoid
- Side brush tangled → it's a motor-protection lockout; clear fibers, consider trimming 3/4"
- Refuses to clean dark carpet → IR cliff sensors read black as a drop-off; clean them with isopropyl
- The one setting almost nobody knows about: Roborock now ships with four Carpet Avoidance Modes (Adaptive / Avoid / Cross / Ignore). Picking the right one fixes 70% of cases.

Which "Stuck on Carpet" Problem Are You Having? (Quick Diagnosis)
Before you try any fix, match your symptom to one of these four scenarios. Each one has a different root cause and a different solution.
| What you're seeing | Which scenario | Root cause (short version) |
|---|---|---|
| Robot climbs onto a rug, then spins or works its way around without reaching the center | 1. Stuck ON the rug | Side brush tangled in fibers, or high friction pile |
| Wheels slip at the carpet edge, robot can't get on at all | 2. Can't climb ONTO | Pile height exceeds the robot's ~20mm climb limit |
| Error message says the side brush is jammed, and the brush stopped spinning | 3. Side brush tangled | Deliberate motor protection — the brush stops when friction exceeds a threshold |
| Robot drives right past a dark-colored rug as if it doesn't exist | 4. Refuses dark carpet | IR cliff sensors read black surfaces as a drop-off |
If you're seeing more than one, work through them in order — the fixes don't conflict.
Scenario 1 — Stuck ON the Rug (Spinning and Won't Come Off)
The fix in one sentence: clear the side brush, use Adaptive mode so it lifts mop but still crosses, and set a No-Go Zone for the specific rug that keeps catching it.
This is the most common version of the problem. The robot climbs onto a rug — usually a medium-pile area rug with fringe edges — then stalls near the border and spins its wheels trying to reorient. Sometimes it escapes after a minute, sometimes the app pings you with "stuck" and you have to lift it out yourself.
What's actually happening: in roughly 9 out of 10 cases it's the side brush, not the drive wheels. The brush catches fringe or long fibers, the motor hits its friction limit, the brush stops, and the robot's navigation gets confused because its expected yaw doesn't match reality. One Roborock forum thread has dozens of owners reporting this exact pattern across S5, S6, S7 and Q series.
Step-by-step fix:
- Flip the robot and pull any visible fibers off the side brush. If the brush feels stiff when you spin it by hand, unscrew it (single Phillips screw) and clean the axle.
- Check the main roller for the same — wrapped hair is the second-most-common cause.
- In the app, open Map → Settings → Carpet Settings and switch to Adaptive (more on the four modes below).
- If it keeps catching on the same rug, set a No-Go Zone around it. This is nuclear option — the robot won't clean that rug at all — but it's reliable. Instructions are in the "How to Set a No-Go Zone" section below.
- For rugs with tassels or fringe, fold the fringe under and use double-sided carpet tape to hold it flat. One forum user summed it up bluntly: "The S7 will not survive a fringed rug. Tape it down or exclude it."
If you're still stuck after that, your rug is probably high-pile — which is Scenario 2.
Scenario 2 — Can't Climb ONTO the Carpet
The fix in one sentence: your carpet pile is above the ~20mm threshold most Roborocks can handle, so set it to Avoid and stop fighting physics.
Most Roborocks — Q Revo, S8, S8 MaxV Ultra, Q5 Pro, Q7 Max+ — have a published threshold climb of 20mm (roughly 3/4 inch). The newer Qrevo Curv, Saros 10R and Saros 20 are rated higher: Roborock specs 30mm for a single step and 40mm for a tiered threshold. Keep in mind that threshold climb and carpet pile are different challenges — a rigid 20mm threshold is easier than a soft 20mm pile, because the wheels have nothing firm to grip.
When a robot can't climb on, you usually see the wheels whine briefly, then the robot reverses and tries from a different angle two or three times before giving up. No error, no stuck alert — it just skips the rug.
What to check:
- Measure your pile. Press a ruler vertically into the carpet until it hits the backing. If it's above 20mm, you're past Roborock's officially-supported ceiling.
- Check for a transition strip. Even a low-pile rug with a thick rubber backing can push total height above 20mm.
- Carpet Boost is making it worse, not better. Counterintuitive, but true: Carpet Boost ramps suction the moment carpet is detected, which increases drag. On borderline-height rugs, disabling Carpet Boost can be the difference between climbing on and slipping off.
If your pile is within spec:
- Open Settings → Vacuum → Carpet Boost and turn it off for a test run.
- Clean the drive wheels — compacted dust and pet hair on the tire reduces grip.
- Try rearranging so the robot approaches the rug head-on rather than at a 45° angle. Edge-first approaches slip more often.
If your pile is out of spec: accept it. No current Roborock handles shag. Set the rug to Avoid (not just No-Go — Avoid lets the robot recognize the carpet and route around it cleanly). See the Carpet Avoidance section below.
Scenario 3 — Side Brush Tangled in Carpet Fibers
The fix in one sentence: the brush-stop is a deliberate motor-protection feature, not a defect, so the fix is to reduce friction — either by cleaning the brush, trimming it, or excluding the carpet.
Roborock support is explicit about this. Per the official FAQ: "When the brush faces high friction like on carpet for a certain period, the brush stops running to protect the robot." That means swapping brushes or "fixing" it won't work — the lockout will re-trigger.
Three fixes, in order of how invasive they are:
- Clean and re-seat the brush. Unscrew it, wipe the axle, remove wrapped hair. Spin by hand — it should turn freely with almost no resistance. If there's any drag, the motor will hit its threshold faster on carpet.
- Trim the side brush. This is the community fix. Multiple threads (example) confirm that cutting about 3/4 inch off each of the three bristle ends eliminates fringe-tangling while leaving hard-floor performance nearly untouched. It does not void your warranty — side brushes are consumables. Use sharp scissors and cut perpendicular to the bristle.
- Replace with Roborock's "carpet-friendly" brush variant. On some models Roborock ships an alternate side brush with shorter bristles specifically for owners with mixed carpet. If your model supports it, it's a cleaner fix than trimming.
If the brush stops even on hard floor: that's a different problem — see our Roborock Brush Not Spinning fix guide.
Scenario 4 — Robot Refuses to Clean Dark or Shag Carpet
The fix in one sentence: the infrared cliff sensors read black surfaces as a drop-off, which is a hardware limitation, but cleaning the sensors and adding a white border can recover most cases.
If your dark-grey, charcoal, navy or black rug gets skipped entirely while light rugs get cleaned normally, this is the problem. Per Roborock's own support page: "Dark carpets may trigger the cliff sensors in the same way as a drop. Black surfaces are more likely to absorb light, causing infrared cliff sensors to make incorrect judgments."
You cannot disable the cliff sensors. Roborock has explicitly confirmed this — there is no app toggle and no firmware workaround. But you have three options that actually help:
- Clean the cliff sensors. They're the four small black rectangles near the front corners of the underside. Wipe each with a microfiber cloth dampened (not soaked) in isopropyl alcohol. A dirty sensor reflects even less light and makes the misread worse.
- Add a white border. Lay down white gaffer tape or a strip of white paper along the edge the robot approaches from. This gives the sensor enough reflection to cross onto the rug. Ugly but effective.
- If it's actually shag, accept the limitation. Roborock's support docs say outright: "No Roborock vacuum can handle dense shag carpets." Set it to Avoid.
Roborock's 4 Carpet Avoidance Modes (Most People Don't Know These Exist)
Roborock's 2024-2025 app updates added a four-option carpet system that replaces the older single "avoid carpet" toggle. Not every model supports all four — the newer the robot, the more modes. Here's what each one does:
| Mode | What it does | When to use it |
|---|---|---|
| Adaptive | Robot vacuums hard floors first, then returns to carpet with mop lifted | Default for most homes with mixed flooring — this is what you want 90% of the time |
| Avoid | Robot skips carpet entirely during mop cycles | High-pile or shag rugs that the robot keeps getting stuck on |
| Cross | Robot drives over carpet without cleaning it (mop down, no boost) | You want the robot to reach a room past a rug, but don't want it to actually clean the rug |
| Ignore | Treats carpet like any other floor — full vacuum + mop | Only for low-pile commercial-style carpet tiles |
To switch modes: Roborock app → your map → tap the carpet area on the map → Carpet Settings → pick a mode. If you don't see the option, your model doesn't support all four yet — check for a firmware update.
A word of warning about Ignore: it will mop your carpet. Multiple owners on the Roborock forum have asked Roborock to make Ignore the default and been told no — because if you forget to switch it when you add a real rug, you'll soak it.
How to Set a No-Go Zone Around a Rug (Step by Step)
No-Go Zones are the nuclear option but also the most reliable. Here's exactly how:
- Open the Roborock app and tap your saved map.
- Tap the pencil/edit icon (top right on most app versions).
- Select No-Go Zone.
- Drag and resize the rectangle so it covers the rug plus a 10cm buffer on every side — the robot's path planner needs that margin.
- Tap Save. The zone turns red on the map and persists across cleaning sessions until you delete it.
One gotcha: No-Go Zones only work on models with saved-map support (S-series, Q-series from Q5 Pro onward, Saros series). The older E-series doesn't support them. If your robot lost its map after a re-mapping, your zones get wiped too and you'll need to redraw them.
Carpet Pile Compatibility: Which Roborock for Which Carpet
If you're still shopping or considering an upgrade, this is the cheat sheet. Pile height is the single best predictor of whether a given Roborock will work on your rug.
| Pile height | Examples | Which Roborocks work reliably |
|---|---|---|
| Low (<10mm) | Commercial carpet tile, flatweave rugs | Every model including Q5 Pro, Q Revo, Q7 Max+ |
| Medium (10-15mm) | Most residential loop and cut-pile | Q Revo, Q7 Max+, S8, S8 Pro Ultra, S8 MaxV Ultra |
| High (15-20mm) | Plush residential, thick wool rugs | S8 Pro Ultra, S8 MaxV Ultra, Qrevo Curv, Saros 10R, Saros 20 |
| Very high (20-30mm) | Deep-pile plush, thick wool with rubber backing | Qrevo Curv, Saros 10R, Saros 20 (rated for 30mm single-step thresholds) |
| Shag (>30mm) | True shag, long-hair flokati | No current Roborock handles this reliably — pick a Dyson 360 Vis Nav or an upright |
Dark color is a separate axis: if your rug is below ~18% light reflectance (think charcoal or darker), you'll likely hit Scenario 4 regardless of which Roborock you own.
When to Stop Troubleshooting and Switch Models
Be honest with yourself about whether this is fixable. If you've tried the fixes above and you still have:
- A shag rug above 25mm pile, or
- A fully black wool rug that no Roborock can see, or
- A rug with permanent tassels you can't tape down and don't want to replace —
— you're fighting the product category, not the product. You have two options. One, keep the rug and run the Roborock with that rug permanently in a No-Go Zone, then vacuum it by hand. Two, replace the rug with something the robot can handle. Neither is satisfying, but a year of daily "stuck" alerts is worse.
One last thing: if multiple rugs suddenly started causing stuck alerts on a robot that used to work fine, the problem is almost never the rug — it's mechanical wear on the drive wheels or a firmware regression. Check Roborock's release notes for your model, and see our Roborock Mapping Issues fix guide if the map started drifting at the same time.
Frequently Asked Questions
Why does my Roborock keep getting stuck on carpet every time?
In 9 out of 10 cases it's the side brush catching on fringe or long fibers, not the drive wheels. Clean the brush, fold the fringe under, and set that specific rug to Avoid or add a No-Go Zone. If the problem persists across multiple rugs on the same day, check whether you just installed a firmware update — occasional regressions break carpet detection on specific models.
Can I disable the cliff sensors on my Roborock to clean dark carpet?
No. Roborock has explicitly confirmed there is no way to disable cliff sensors, because they're the only thing stopping the robot from falling down stairs. The workaround is to clean the sensors with isopropyl alcohol and add a white tape border along the edge the robot approaches from. On true black wool rugs, even that won't always work.
Does Carpet Boost make my Roborock get stuck more often?
Sometimes, yes — and this surprises most owners. Carpet Boost ramps suction to maximum the instant carpet is detected, which increases drag on the brush and wheels. On borderline-height rugs (roughly 18-22mm), disabling Carpet Boost can be the difference between climbing on cleanly and slipping off. It's worth a one-week test.
Will trimming the side brush void my Roborock warranty?
No. Side brushes are consumables and Roborock sells replacement brushes explicitly as user-serviceable parts. Community fix of cutting 3/4 inch off each bristle end is documented across dozens of forum threads and has never been reported to cause a warranty denial. Use sharp scissors and cut perpendicular to the bristle.
Which Roborock is best for thick or shag carpets?
The Qrevo Curv, Saros 10R and Saros 20 are the only current Roborocks rated to climb above 20mm, with a 30mm single-step and 40mm tiered-step spec. Independent testing has confirmed reliable 20-26mm climbs, though 36mm single-tier is not always cleared. True shag above 30mm is unsupported across Roborock's entire lineup — if you have a real shag rug, look at uprights instead.
