# Removing support for "template overrides" and mobile-specific templates

**URL:** https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668
**Category:** Development
**Tags:** dev-news
**Created:** [March 4, 2025, 3:28pm UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668 "2025-03-04T15:28:55Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [March 4, 2025, 3:28pm UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/1 "2025-03-04T15:28:55Z")

</div>

In the past, you could override the `.hbs` template for and Discourse Route or Component by adding an identically named file in the `templates/` directory of your theme and plugin. This was very powerful, but also came with significant maintainability issues.

Therefore, we’ve been recommending against template overrides over the last few years, and officially deprecated them [in November 2024](https://github.com/discourse/discourse/commit/216845e4c73a62e3cafc6a8dfe7eb7bc4de5e55d). Nowadays, the better solution is to use [Wrapper Plugin Outlets](https://meta.discourse.org/t/using-plugin-outlet-connectors-from-a-theme-or-plugin/32727#p-139082-wrapper-outlets-2) to render content in place of core content.

This month (March 2025) we will be introducing an admin warning banner for template overrides, and plan to fully remove support before the end of Q2.

### Timeline

(estimated dates - subject to change)

- ✅ **November 2024** - deprecation introduced

- ✅ **March 2025** - admin warning banner enabled

- ✅ **June 2025** - removal of functionality (targetting w/c 2nd June)

### Upgrading themes / plugins

Theme and plugin developers should refer to [the Plugin Outlet](https://meta.discourse.org/t/using-plugin-outlet-connectors-from-a-theme-or-plugin/32727#p-139082-wrapper-outlets-2) guide to learn more about wrapper plugin outlets. Feel free to open PRs or #Development topics if you’d like to request a new extension point for your use-case.

---

<div class="post-metadata">

### Author: ![JonahAragon1](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@JonahAragon1](https://meta.discourse.org/u/JonahAragon1)
#### Post date: [March 5, 2025, 4:23am UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/2 "2025-03-05T04:23:35Z")

</div>

Is there a way to easily see which theme/plugin is triggering this admin notice? I looked through all of my themes and plugins and don’t see a `templates/` directory in the root of their Git repositories for any of them.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [March 5, 2025, 8:08am UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/3 "2025-03-05T08:08:23Z")

</div>

> [@JonahAragon1](#):
>
> don’t see a `templates/` directory in the root

It’s in `/assets/javascripts/discourse` or in `/javascripts/discourse`, not in the root.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [March 5, 2025, 9:02am UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/4 "2025-03-05T09:02:25Z")

</div>

The warning banner should show the name of the theme/plugin. It’ll also be printed in the browser developer console.

If not, perhaps we have a problem with the deprecation - would you be able to share a link to an affected site?

---

<div class="post-metadata">

### Author: ![JonahAragon1](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@JonahAragon1](https://meta.discourse.org/u/JonahAragon1)
#### Post date: [March 5, 2025, 3:55pm UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/5 "2025-03-05T15:55:32Z")

</div>

Thank you. It did not show in the warning banner but it did show in the developer console, although not very clearly.

 ![2025-03-05 at 10.00.40](https://global.discourse-cdn.com/meta/original/4X/5/2/b/52b7ed1e292055b9552713b4b025ba28c405f92b.png)

Turned out to be this component.

> [@DuckDuckGo Search Suggestions](https://meta.discourse.org/t/duckduckgo-search-suggestions/83902):
>
> Solves [Is there a way to suggest DuckDuckGo instead of Google for failed search UI?](https://meta.discourse.org/t/is-there-a-way-to-suggest-duckduckgo-instead-of-google-for-failed-search-ui/83895). A Discourse theme component to use DuckDuckGo as the suggested search system, instead of Google! p.s. You’ll probably want to customize some of the text strings to stop mentioning Google, too.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [March 5, 2025, 4:44pm UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/7 "2025-03-05T16:44:52Z")

</div>

Thanks @JonahAragon1. The theme identification should be much clearer than that, so I’ll get that fixed up 👀

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [March 6, 2025, 11:30pm UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/9 "2025-03-06T23:30:59Z")

</div>

[This change](https://github.com/discourse/discourse/commit/0e8d36d080d8a136b7d92a1f0022eca59924a560) will fix the warning banner so it identifies themes more clearly:

 ![SCR-20250306-otnz](https://global.discourse-cdn.com/meta/original/4X/7/f/b/7fb6973704236a02784e86c4967d13adc704db3b.png)

---

<div class="post-metadata">

### Author: ![AquaL1te](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/aqual1te/32/201966_2.png) [@AquaL1te](https://meta.discourse.org/u/AquaL1te)
#### Post date: [March 9, 2025, 11:53am UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/11 "2025-03-09T11:53:41Z")

</div>

Have you find a solution to get back DDG as search suggestion? I’ve disabled the component for now.

---

<div class="post-metadata">

### Author: ![JonahAragon1](https://avatars.discourse-cdn.com/v4/letter/j/f19dbf/32.png) [@JonahAragon1](https://meta.discourse.org/u/JonahAragon1)
#### Post date: [March 10, 2025, 8:11pm UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/12 "2025-03-10T20:11:29Z")

</div>

No, I just decided to disable the form entirely. I don’t think anyone in my community uses it and I don’t really see the usefulness. I saw the component author [proposed](https://meta.discourse.org/t/duckduckgo-search-suggestions/83902/19) an update that requires a core change, so it’ll probably be working again soon.

> <https://github.com/privacyguides/discourse-brand/blob/940ae61c4d61456378a4ec5428d638bf9fb666c1/common/common.scss#L281-L284>

---

<div class="post-metadata">

### Author: ![hiddenseal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hiddenseal/32/284273_2.png) [@hiddenseal](https://meta.discourse.org/u/hiddenseal)
#### Post date: [March 23, 2025, 11:49pm UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/13 "2025-03-23T23:49:15Z")

</div>

does it mean that the experimental user card will be introduced into core before this fully deprecates? I currently get this warning for this component [GitHub - discourse/experimental-usercard · GitHub](https://github.com/discourse/experimental-usercard)

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [March 24, 2025, 9:35am UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/14 "2025-03-24T09:35:07Z")

</div>

We’ve archived the experimental-usercard repository, and don’t intend to update the theme component any further. So I’m afraid you will need to disable it before template overrides are blocked in June 2025.

We do hope to incorporate some of the experiment into core at some point, but don’t have a specific timeline on that. The user-card is a very heavily-customized part of the UI, so landing large changes to it will require careful planning and changes across the ecosystem.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [May 22, 2025, 3:19pm UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/15 "2025-05-22T15:19:00Z")

</div>

> [@david](#):
>
> - **June 2025** - expected removal

Everything is on-track for this goal, so we intend to drop support for template overrides in the week-commencing 2nd June.

Since this will happen before the 3.5 stable release, [we have backported](https://github.com/discourse/discourse/commit/6fbedfdfe441e24581597c098fb8f4fadf7733a7) the admin warning banner to stable 3.4, so that communities on stable get a decent amount of warning before their update to 3.5.

(cc @RGJ, since I know you host many forums on stable)

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [June 6, 2025, 1:45pm UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/16 "2025-06-06T13:45:21Z")

</div>

Support for template overrides and mobile-specific templates has [now been dropped](https://github.com/discourse/discourse/commit/cb6cc8dcd339b5036fecfd8ae0301accc7df4ee1).

---

<div class="post-metadata">

### Author: ![nixo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nixo/32/513734_2.png) [@nixo](https://meta.discourse.org/u/nixo)
#### Post date: [July 26, 2025, 10:21pm UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/17 "2025-07-26T22:21:55Z")

</div>

i’m also now getting this unspecific error (just points to the ‘Default’ theme). the hint to look in the console helped. i _think_ this is in our custom CSS but i only recently took over this forum so i’m gonna have to dig a bit. when is this expected to break, so i can plan to dig around in time?

 ![Screenshot 2025-07-26 at 16.16.42](https://global.discourse-cdn.com/meta/original/4X/9/2/6/926da3e1ca63256d102172262118f7eb507a9f97.png)  
 ![Screenshot 2025-07-26 at 16.16.52](https://global.discourse-cdn.com/meta/optimized/4X/d/2/2/d22657e5ea04cd3e9ad8b212c994571e27e63c46_2_690x32.png)

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [July 28, 2025, 8:20am UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/18 "2025-07-28T08:20:13Z")

</div>

Template overrides have been removed in the latest version of Discourse core, so I guess you must be running an older version. When you next update to latest, the override will stop working.

There is probably something like `<script type="text/x/handlebars">` in your default theme, which should be removed.

---

<div class="post-metadata">

### Author: ![nixo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nixo/32/513734_2.png) [@nixo](https://meta.discourse.org/u/nixo)
#### Post date: [August 5, 2025, 12:09am UTC](https://meta.discourse.org/t/removing-support-for-template-overrides-and-mobile-specific-templates/355668/19 "2025-08-05T00:09:30Z")

</div>

huh. interesting. we only started seeing this banner after our devops team updated to 3.4.6. the custom override is still rendering though (and you’re right about where it is / what it looks like). ~~possible that chatgpt is misinterpreting what this override does though, i’m still figuring this all out~~

all fixed, warning’s gone, style is preserved. woot
