Residential Roof Permits in Minnesota: When You Need One and What It Costs
13min Read
Posted 4.04.2026
Roofing permits are one of the most misunderstood parts of a Minnesota roof replacement. Homeowners often ask whether the permit is really needed, how much it costs, and whether their contractor is actually pulling one. Some door-knocking contractors offer to “skip the permit” to lower the quote — a move that creates legal, warranty, and insurance problems that surface years later when you try to sell the home or file a claim.
This guide walks through Minnesota’s residential roof permit system: when permits are required, what they cost, what inspections to expect, how to verify your contractor pulled one correctly, and the consequences of skipping the permit. Every Minnesota city has its own variations on the state code, so we’ll cover the general framework and then the Twin Cities metro specifics where most questions come up.
Does Minnesota Require a Permit for Roof Replacement?
Yes, nearly always. Minnesota adopts the International Residential Code (IRC) with state amendments, and IRC Section R105.2 establishes the framework for when permits are required. For roofing specifically, most Minnesota cities require a building permit when the work involves:
- Complete tear-off and re-cover of any residential roof
- Installation of a new roof covering over existing (overlay), where allowed
- Structural changes to the roof framing
- Repairs exceeding a certain square footage threshold (often 100–200 sq ft, varies by city)
- Addition of skylights, solar panels, or other penetrations
- Conversion from one roofing material to another
Minor spot repairs — replacing a handful of shingles, re-sealing flashing, fixing a small leak — typically do not require a permit. The threshold varies by city but is usually around 100 square feet or less than one “square” of roofing.
Permit Fees by Minnesota City (2026)
Permit fees in Minnesota are typically calculated based on the valuation of the work (i.e., the labor + materials cost of the re-roof). Below are common fee ranges for a standard 2,500 sq ft asphalt shingle replacement valued around $15,000:
| City | Typical Permit Fee | Inspections Required |
|---|---|---|
| Minneapolis | $150–$280 | Tear-off + Final |
| Saint Paul | $150–$250 | Tear-off + Final |
| Shoreview | $90–$175 | Final only (tear-off by request) |
| Plymouth | $120–$225 | Ice-and-water + Final |
| Maple Grove | $100–$200 | Final + mid-point (varies) |
| Edina | $150–$300 | Tear-off + Final |
| Bloomington | $125–$235 | Final + flashing/ice shield check |
| Woodbury | $110–$210 | Final |
| Rochester | $100–$220 | Final |
These fees are typically absorbed by the contractor as part of the job cost and appear as a line item on your contract. For a detailed look at overall roofing costs in Minneapolis, see our Minneapolis roofing guide, or our Shoreview roofing guide for North Metro specifics.
What the Permit Actually Does
A roofing permit is not just a tax. It serves four concrete functions that protect the homeowner:
- Verifies contractor licensure. Most Minnesota cities will not issue a roofing permit to an unlicensed contractor. The permit process is a check that the company holds a valid Minnesota Residential Roofer license (required under MN Statute 326B).
- Triggers code inspections. A city inspector visits at key milestones to verify ice-and-water shield placement, underlayment, flashing, ventilation, and fastener patterns meet code.
- Creates a legal record of the work. Title search services pull permit history. A permitted roof on your property record can increase buyer confidence and resale value.
- Validates warranties. Most manufacturer warranties (GAF, Owens Corning, CertainTeed, IKO) require compliance with local building codes as a condition — unpermitted work can void the warranty.
The Inspection Process
The inspection process varies by city. In the Twin Cities metro, the most common pattern is a two-stage inspection:
Tear-Off / Deck Inspection
Performed after the old shingles are removed and the decking is exposed. The inspector verifies:
- Decking is sound, properly thick, and properly fastened
- Ice-and-water shield will extend at least 24″ past the interior wall line (IRC R905.1.1)
- No structural issues with rafters or trusses
- Valleys, penetrations, and problem areas are correctly prepped
This is the most important inspection. If the inspector spots rotten decking, they’ll require replacement before the new roof goes on. This is also where IRC R908.3 (the 25% rule) gets enforced — if more than 25% of any plane’s decking is damaged, the full plane must be re-decked. See our decking replacement guide for more.
Final Inspection
Performed after the new roof is complete. The inspector verifies:
- Shingle manufacturer nailing patterns followed
- Flashing at chimneys, valleys, sidewalls, and vents installed correctly
- Ridge cap properly sealed and fastened
- Attic ventilation meets IRC R806 (1:300 NFVA ratio)
- Gutter system properly integrated
- Site cleanup completed
Who Pulls the Permit: You or the Contractor?
In Minnesota, the contractor pulls the permit in 99% of residential roof replacements. This is required because the contractor is the responsible party for code compliance and the named license-holder. Homeowners can technically pull their own permit (called a homeowner permit), but doing so transfers code responsibility and liability to the homeowner — not worth it unless you’re personally installing the roof.
| Scenario | Who Pulls Permit | Notes |
|---|---|---|
| Contractor doing full replacement | Contractor | Standard in MN |
| Homeowner DIY with pro help | Contractor of record | Requires license |
| Homeowner fully DIY | Homeowner | Homeowner permit, limited scope |
| Insurance repair under $1,000 | Often no permit needed | Verify with city |
How to Verify Your Contractor Pulled a Permit
Trust but verify. Some contractors promise to pull permits and then skip them. Here’s how to confirm:
- Ask for the permit number. Every issued permit has a unique number. Your contractor should give it to you before work starts.
- Look up the permit on your city’s portal. Minneapolis, Saint Paul, Shoreview, Plymouth, Maple Grove, and most Twin Cities municipalities have online permit lookup tools. Search by address.
- Verify inspection is scheduled. Cities schedule inspections against active permits. You can usually see upcoming inspection dates.
- Require the final inspection sign-off. Your contract should make final payment contingent on a passed final inspection.
If you can’t find the permit in the city’s system, ask your contractor for documentation (the permit card usually gets posted on-site, at the front of the property). If they resist or delay, stop work and call the city directly.
What Happens If the Work Isn’t Permitted?
Unpermitted roofing work creates four long-term problems:
- Warranty void. Major shingle manufacturers require code compliance. Unpermitted work means no documented inspections, and when a warranty claim surfaces, the manufacturer can deny it.
- Insurance complications. If a storm damages your unpermitted roof, some insurers will investigate whether the roof complied with code. Discovery of unpermitted work can reduce or deny the claim.
- Title and resale issues. Home inspectors, appraisers, and buyer’s agents check for matching permits on major work. Unpermitted work must be disclosed, and buyers often require it be retroactively permitted (or the price reduced) before closing.
- Code enforcement action. Cities can impose daily fines for unpermitted work (typically $100–$500 per day) and require removal and reinstallation if the work doesn’t meet code.
Door Knocker Warning Signs About Permits
After a hail or wind event, storm chasers aggressively canvass Minnesota neighborhoods. Watch for these permit-related red flags — any one is cause to decline the contractor:
- “We don’t need permits for this job” (false for any real replacement)
- “The permit is included but not broken out on the contract” (it should be a line item)
- “We’ll pull the permit later after the work is done” (not how it works — permits are pre-approval)
- “Your insurance won’t cover the permit fee” (insurance does cover permit fees as part of standard reimbursement)
- “Skipping the permit will save you $300” (red flag — they’re probably also skipping code items)
- Refusal to show a current Minnesota Residential Roofer license
Reputable Minnesota roofers will happily answer permit questions with clear, specific answers. Our contractor hiring guide covers the vetting process in full. For the storm-response context where most permit questions arise, see our storm damage guide.
Permits and Insurance Claims
When a roof replacement is funded by an insurance claim after hail or wind damage, permit fees are a covered cost. The adjuster’s scope of work should include a line item for “permits and fees” — typically $150–$350 depending on the city. If your scope doesn’t include this line, your contractor should request a supplement to add it.
A critical MN legal point: Minnesota Statute 325E.66 prohibits contractors from rebating, waiving, or absorbing your insurance deductible. If a contractor offers to “handle the permit” in exchange for charging you more than the scope — or any variation on “we’ll make the deductible disappear” — that’s a statutory violation. Walk away and report them to the Minnesota Department of Commerce.
Permits for Other Roofing Work
| Project Type | Permit Required? | Notes |
|---|---|---|
| Full roof replacement | Yes | Standard building permit |
| Partial roof replacement (one slope) | Usually yes | Check city thresholds |
| Shingle-over overlay | Yes | May require structural review |
| Skylight addition | Yes | Building + possibly electrical |
| Solar panel installation | Yes | Building + electrical permit |
| Chimney cap replacement | Usually no | Unless structural |
| Gutter replacement | Usually no | Most MN cities |
| Fascia/soffit repair | Sometimes | Depends on scope |
| Ice-and-water shield upgrade | Yes if replacing roof | Part of replacement permit |
Getting a Permit: Timeline
Most Minnesota cities issue residential roofing permits same-day or within 1–3 business days of application. The contractor submits the permit application online (in most Twin Cities municipalities) with contractor license info, property details, project scope, and estimated valuation. After payment, the permit is issued and can be printed for on-site posting.
During peak storm seasons (late spring, summer thunderstorms), permit processing can slow as cities handle volume. This rarely delays projects — most contractors apply 2–4 weeks before the scheduled install.
FAQ: Roofing Permits in Minnesota
Do I need a permit to replace my roof in Minnesota?
Yes, for any complete roof replacement in Minnesota. Every city in the Twin Cities metro requires a building permit for full tear-off and re-cover work. The permit process verifies contractor licensure, schedules code inspections, and protects your warranty and insurance coverage. Minor spot repairs under 100 square feet typically don’t require a permit, but any significant work does.
How much does a roofing permit cost in the Twin Cities?
Residential roof replacement permits in the Twin Cities metro typically cost $100–$300, depending on the city and the valuation of the work. Minneapolis, Saint Paul, and Edina trend higher ($150–$300), while suburbs like Shoreview, Woodbury, and Maple Grove run $90–$225. Your contractor should include the permit fee as a line item on your contract. Insurance covers permit fees as part of standard claim reimbursement.
What happens during a roof inspection?
The inspector visits the job site at one or two key milestones: after tear-off (to check decking and prep), and at completion (to verify nailing patterns, flashing, and code compliance). The inspector uses a brief checklist and typically spends 20–40 minutes on site. If anything fails, the contractor has a specified period (often 30 days) to correct it before re-inspection.
What if my contractor didn’t pull a permit?
If you discover after the fact that your contractor didn’t pull a required permit, you have several options: (1) Contact the city immediately and request a retroactive permit and inspection — the city may require some work redone. (2) File a complaint with the Minnesota Department of Commerce if the contractor is licensed. (3) Withhold final payment until the permit and inspection are completed. (4) Consult an attorney if significant money is at stake. Unpermitted work creates disclosure issues when you sell the home.
Are permits required for insurance-covered roof work?
Yes. Insurance does not exempt the work from permit requirements. In fact, some insurance policies specifically require permitted work for claims to be covered. Permit fees are typically included in the insurance scope, and reputable contractors always include them as line items on the contract. If a contractor offers to “save you the permit cost,” that’s a red flag.
Can I pull my own roofing permit as a homeowner?
Technically yes — Minnesota allows homeowners to pull a “homeowner permit” if they’re performing work on their own primary residence. Practically, this transfers full code responsibility and liability to you, and most cities will only issue these for limited-scope work. If you’re hiring a contractor, the contractor pulls the permit. Homeowner permits are generally only appropriate for true DIY projects by experienced homeowners.
Do I need a permit for roof repairs, or only for replacement?
Minor repairs (under 100 square feet, or roughly one square) typically don’t require permits. Larger repairs, especially those involving structural changes, replacement of a full slope, or addition of penetrations (skylights, vents), do require permits. When in doubt, call your city’s building department — they’ll clarify the threshold for your jurisdiction. Our repair vs replacement guide helps you evaluate the scope of work involved.