octobercms/october · warning · ApplicationException

system::lang.updates.theme_not_found

system::lang.updates.theme_not_found

Error message

Theme not found

What it means

Backend marketplace detail action Market::theme() (URL backend/system/market/theme/<slug>) is the theme counterpart of plugin(): slugToCode() derives the product code, ProductDetail($code, true) queries the marketplace with the theme flag, and when the product does not exist it throws system::lang.updates.theme_not_found ('Theme not found'), caught by handleError($ex).

Source

Thrown at modules/system/controllers/Market.php:142

        }
    }

    /**
     * theme
     */
    public function theme($urlCode = null, $tab = null)
    {
        try {
            $this->pageTitle = 'system::lang.updates.details_title_theme';
            $this->pageSize = 950;
            $this->addJs('/modules/system/assets/js/pages/market.details.js');
            $this->addCss('/modules/system/assets/css/pages/market.css');

            $code = $this->slugToCode($urlCode);
            $product = new ProductDetail($code, true);

            if (!$product->exists()) {
                throw new ApplicationException(Lang::get('system::lang.updates.theme_not_found'));
            }

            $this->vars['projectDetails'] = UpdateManager::instance()->getProjectDetails();
            $this->vars['activeTab'] = $tab ?: 'readme';
            $this->vars['urlCode'] = $urlCode;
            $this->vars['product'] = $product;
        }
        catch (Exception $ex) {
            $this->handleError($ex);
        }
    }

    /**
     * onBrowseProject
     */
    public function onBrowseProject()
    {
        $project = UpdateManager::instance()->requestBrowseProject();

View on GitHub (pinned to b608633a7e)

Solutions

  1. Search the theme again from the Updates > Themes browser and use the regenerated link
  2. Confirm the theme still exists on octobercms.com and match its exact Author.Theme code
  3. Check that your code builds the slug from the current Author.Theme identifier
Defensive patterns

Strategy: validation

Validate before calling

$product = new \System\Classes\ProductDetail($code, true);
if (!$product->exists()) {
    // do not link/redirect to the theme detail page for this code
}

Prevention

When it happens

Trigger: Opening backend/system/market/theme/<author-theme-slug> for a theme the gateway cannot find: theme removed/renamed on the marketplace, malformed slug that does not map back to Author.Theme, or empty gateway details.

Common situations: Old bookmarks to delisted themes; typos in the theme code; building theme detail URLs from stale data.

Understand the failure class

Background: 'Could not be found', 'does not exist', 'not found in database': the resource-not-found family when an ID, slug, key, or URI lookup comes back empty — this error's family across 20 libraries.

Related errors


AI-assisted analysis of octobercms/october@b608633a7e (2026-08-21). Data as JSON: /api/errors/7c5a0123c7166523. Report an issue: GitHub.