Personal user has undeletable “Default templates” plugin marked installed-by-admin / installed-by-default
What version of Codex are you using?
Codex CLI: 0.144.1
Platform: macOS, arm64
Plan/workspace: individual user on a personal plan, not a managed/workspace-admin Codex setup
What issue are you seeing?
Codex shows an OpenAI curated plugin named “Default templates” / openai-templates as installed and enabled, but I cannot remove it. The UI presents it as if it was installed by an admin:
- Installed by admin
- Source: Remote · OpenAI Curated
- Auth: Auth on use
- Version: local 0.1.0
- App: Default templates
- Skills include:
artifact-template-analytics-dashboardartifact-template-business-reviewartifact-template-design-reportartifact-template-experiment-analysisartifact-template-financial-budgetartifact-template-investment-committee-memoartifact-template-legal-memorandumartifact-template-market-trends-reportartifact-template-minimal-letterheadartifact-template-operating-calendarartifact-template-operating-reviewartifact-template-project-kickoffartifact-template-project-trackerartifact-template-sales-pipelineartifact-template-simple-dark-modeartifact-template-simple-light-modeartifact-template-strategy-memorandumartifact-template-system-designartifact-template-team-alignmentartifact-template-three-statement-forecast
I do not understand why I have an undeletable “installed by admin” plugin when I am an individual user on a personal plan and there is no workspace admin.
What I tried
I tried removing the plugin through the CLI:
codex plugin remove openai-templates@openai-curated --json
That returned success-like output, but the plugin came back / remained visible in a fresh session.
I also tested via a short-lived app-server stdio session. plugin/installed reports:
{
"id": "openai-templates@openai-curated-remote",
"remotePluginId": "plugin_connector_1p_2330815c823c8191941e5dc465bb899f",
"name": "openai-templates",
"installed": true,
"enabled": true,
"installPolicy": "INSTALLED_BY_DEFAULT",
"installPolicySource": "IMPLICIT_CANONICAL_APP",
"authPolicy": "ON_USE",
"displayName": "Default templates"
}
Calling plugin/uninstall with the exact plugin id returned {} but did not actually uninstall it:
{
"pluginId": "openai-templates@openai-curated-remote",
"response": { "result": {} }
}
Immediately afterward, plugin/installed still showed the plugin as installed and enabled.
Calling plugin/uninstall with the raw remote plugin id returned a backend 403:
Installed-by-default plugins cannot be uninstalled
Workaround
I was able to suppress the connector and skills by manually adding config overrides:
[apps.connector_openai_default_templates]
enabled = false
[[skills.config]]
name = "openai-templates:artifact-template-analytics-dashboard"
enabled = false
# repeated for all openai-templates:* skills
After that, skills/list no longer returns the openai-templates skills. However, plugin/installed still reports the plugin itself as installed and enabled because it is treated as INSTALLED_BY_DEFAULT / IMPLICIT_CANONICAL_APP.
Expected behavior
For a personal, non-managed user:
- Codex should not label a default OpenAI plugin as “Installed by admin” when there is no admin/workspace policy.
- If the user removes or disables a default plugin, that choice should persist across fresh sessions.
plugin/uninstallshould either actually uninstall/disable the plugin or return a clear actionable error. Returning{}while leaving the plugin installed/enabled is misleading.- There should be a first-class way to opt out of the Default templates plugin and all of its skills.
Actual behavior
The plugin is undeletable, remains installed/enabled according to app-server, and is treated by the backend as an installed-by-default implicit canonical app. The only working mitigation I found is manual config overrides for the connector and every skill.
Related issues
This seems related to, but more specific than:
- #29450
4 Comments
what's weird is that you cannot disable this plugin. you can only disable the skills one by one
<img width="758" height="1003" alt="Image" src="https://github.com/user-attachments/assets/70f2204c-89d1-47e1-a12e-2a67b7c3f2b3" />
Additional reproduction details from a personal account.
I can reproduce the same behavior on a personal ChatGPT account (not Business/Enterprise, no workspace admin, personal laptop).
Environment:
The dependency metadata reports:
I also attempted uninstall using the resolved plugin ID:
The uninstall operation returned:
This looks like a state mismatch:
installed=true,installed_by_default).This seems to be either:
installed_by_defaultshown as "installed by admin"),If this plugin is intentionally built-in, it would probably be clearer to expose that explicitly rather than showing "Installed by admin" for personal accounts.
Additional reproduction: Android mobile web, personal ChatGPT Plus account
Hi @mishamsk, I can independently reproduce the same issue on a different platform.
Unlike the existing reports involving macOS and the Codex CLI or desktop application, I encountered this directly in the ChatGPT web interface using a browser on Android.
Environment
| Detail | Observed |
|---|---|
| Platform | Android |
| Interface | ChatGPT in a mobile web browser |
| Account | Personal ChatGPT Plus account |
| Managed workspace | None that I am aware of |
| Plugin | Default templates |
| Plugin URL prefix |
plugin_connector_1p_233...|| Displayed installation status |
Installed by admin|| Removal option | No visible uninstall option |
Steps to reproduce
Default templatesplugin.Manageoption and the disabledInstalled by adminentry.Actual behavior
Installed by admin.Expected behavior
For a personal account:
Provided by OpenAIorInstalled by default, notInstalled by admin.Why the Android reproduction matters
This behavior is not limited to:
The same plugin and administrator label also appear through ChatGPT's Android mobile web interface. This suggests that the behavior may involve shared account-level plugin state or a cross-platform installation policy, although I cannot independently verify the underlying implementation.
Questions for maintainers
Installed by adminmean on a personal account without a known administrator?Default templatesautomatically installed by OpenAI or another platform-controlled process?This report concerns installation transparency, account attribution, and user control.
I have this problem too. Is it related to the installation of the Codex desktop app perhaps? I installed the new Linux app, so now I have that + the CLI on my system.