octobercms/october · error · ApplicationException
Unable to find the specified settings.
Error message
Unable to find the specified settings.
What it means
Settings controller update($author, $plugin, $code) renders a settings form after resolving the requested item through findSettingItem() against SettingsManager registrations. When no plugin or module registered a matching settings item (context author.plugin plus optional code), it throws 'Unable to find the specified settings.' before any model or widget is built.
Source
Thrown at modules/system/controllers/Settings.php:88
}
//
// Generated Form
//
/**
* update action
*/
public function update($author, $plugin, $code = null)
{
SettingsManager::setContext($author.'.'.$plugin, $code);
$this->vars['parentLink'] = Backend::url('system/settings');
$this->vars['parentLabel'] = __('Settings');
try {
if (!$item = $this->findSettingItem($author, $plugin, $code)) {
throw new ApplicationException(__('Unable to find the specified settings.'));
}
$this->pageTitle = $item->label;
$this->pageSize = Backend::sizeToPixels($item->size) ?: null;
if ($item->context == 'mysettings') {
$this->vars['parentLink'] = Backend::url('system/settings/mysettings');
$this->vars['parentLabel'] = Lang::get('backend::lang.mysettings.menu_label');
}
$model = $this->createModel($item);
$this->initWidgets($model);
}
catch (Exception $ex) {
$this->handleError($ex);
}
}View on GitHub (pinned to b608633a7e)
Solutions
- Verify the plugin is installed and enabled (Settings > System > Plugins)
- Check the plugin's registerSettings() declares an item whose context and code match the URL segments exactly
- Navigate from the settings index instead of a stale bookmark so the URL is regenerated from registered items
Example fix
// before: nothing registers the 'acme.shop' settings context, URL 404s with the error
// after: in acme/shop/Plugin.php
public function registerSettings()
{
return [
'settings' => [
'label' => 'Shop Settings',
'description' => 'Manage shop settings',
'category' => 'Shop',
'icon' => 'icon-cog',
'class' => 'Acme\Shop\Models\Settings',
'order' => 500,
],
];
} Defensive patterns
Strategy: validation
Validate before calling
$items = \System\Classes\SettingsManager::instance()->listItems(); // render settings links only for items present in $items; // never hardcode backend/system/settings/update/... URLs
Prevention
- Link to settings pages via SettingsManager-derived URLs, never hardcoded bookmarks
- When uninstalling a plugin, remove or redirect its settings links
- Test settings URLs after disabling plugins in staging
When it happens
Trigger: Requesting backend/system/settings/update/<author>/<plugin>[/<code>] where the providing plugin is not installed or disabled (its registerSettings() items are never registered), or where the code segment does not match any registered item's code (e.g. mysettings items).
Common situations: Bookmarked settings page of a plugin that was later uninstalled or disabled; wrong third segment in the URL; plugin boot failure preventing registration.
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
- system::lang.updates.plugin_not_found
- Component not found
- system::lang.updates.theme_not_found
- backend::lang.form.behavior_not_ready
- The settings page is missing a Model definition.
AI-assisted analysis of octobercms/october@b608633a7e (2026-08-21).
Data as JSON: /api/errors/701fb49520e9a262.
Report an issue: GitHub.