I installed a plugin. What did I actually install?
Unpack instructions and connections, then compare plugins in Codex, Claude Code, and DeepSeek Harness. Understand installation, account access, and action approval.
When I install a plugin, I want to know what it adds to the application. Does it give me a saved procedure, connect to another service, or add something else?
Browser extensions and editor plugins work this way too: the application decides what an extension can add. The packages below show what that means for agent applications. I compare Codex, Claude Code, and DeepSeek Harness because the same word covers different capabilities in each. The shopping example shows how a plugin can contain a skill and an MCP connection.
What files are inside a plugin?
When I open a plugin on my computer, I see a folder with files inside. Here are three fictional packages using a supported Codex folder layout. Open a file to see what it contains. You do not need to understand every line; look for the package details, the instructions, and the connection settings.
An interactive illustration with sample data and written responses. No account is connected and no AI model is running.
Calendar assistant
A sample plugin folder · Codex compatibility layout
.codex-plugin/plugin.jsonThe package details
This file names the plugin and points to the parts it includes. The paths below start from the plugin’s top-level folder.
{
"name": "calendar-assistant",
"version": "1.0.0",
"description": "Find a suitable time to meet.",
"skills": "./skills/",
"mcpServers": "./.mcp.json"
}One folder, two different jobs: SKILL.md explains how to schedule; .mcp.json tells the app where to connect. The manifest packages them together.
This example uses the Codex compatibility layout. Newer portable packages can put plugin.json and mcp.json directly in the top-level folder. If the names differ from what you see on your computer, check the format your app uses. Codex plugin folder layouts
The writing helper needs no mailbox connection to work on text I paste. The calendar connection supplies access to tools once it is configured and authorised. The combined package includes a procedure for using those tools. Each can be a useful plugin. OpenAI plugin architecture
A plugin can have a visual interface, but that is not a requirement. ‘Mini app’ can be a helpful first impression of some plugins; opening the contents gives us a more precise answer.
Plugin for which application?
The application determines what a plugin can add. Select one below to compare its supported capabilities; DeepSeek Harness uses plugins for parts of its runtime too.
An interactive illustration with sample data and written responses. No account is connected and no AI model is running.
An installable package
Contents available to the host application
- Skills and supporting files
- MCP connections
- Optional lifecycle hooks
Codex
A plugin can group reusable workflows and connections. The exact supported components and setup depend on the Codex surface.
Read the product’s documentationCodex: An installable package. A plugin can group reusable workflows and connections. The exact supported components and setup depend on the Codex surface.
Codex can package skills and MCP connections, with other supported capabilities such as hooks. Claude Code also distributes extensions through plugins, including skills, agent definitions, hooks, and MCP servers. Similar ingredients do not make every package interchangeable. Codex plugin architecture, Claude Code plugins
DeepSeek Harness uses plugins throughout its own runtime: modules can contribute capabilities such as the tool registry, model adapter, or agent loop. That is a broader job than a task procedure bundled with a connection. Its current developer-preview documentation describes plugins that register capabilities through the running system. Harness plugin tutorial
The DeepSeek model and DeepSeek Harness are different parts. A DeepSeek model running in another application follows that application’s extension system. Choosing a model does not by itself choose a plugin format. DeepSeek’s docs cover its own Harness as well as integrations with other applications. DeepSeek agent integrations
Packaging does not change the parts’ jobs.
If I connect an MCP server directly, I have an MCP connection. If I distribute the configuration for that connection inside a plugin, I also have an installable package for a particular app. The server still exposes its capabilities through MCP.
Likewise, putting a skill inside a plugin does not turn its instructions into an account connection. DeepSeek Harness also has documented skill support and an MCP client alongside its plugin architecture. These ideas can coexist. Harness skills, Harness MCP integration
When moving a setup to another app, I would inspect the instructions, the server connection, and the app-specific configuration separately. A shared skill format or MCP support can help parts travel. Scripts, tools, authentication, and other dependencies still need checking.
Which approval are we talking about?
| Decision | What it concerns |
|---|---|
| Directory review | Whether a publisher’s package can appear in a curated catalogue. |
| Account authorisation | Whether the integration can access your account, and with what scope. |
| Action approval | Whether this particular action may run under the app’s policy. |
A plugin can be developed locally or shared privately without first appearing in a public directory. A directory accepting a plugin does not sign in to my calendar for me. Signing in does not tell me that every action will ask for confirmation either. Those are separate decisions. OpenAI packaging and distribution, Claude Code local development
For our calendar example, I would check what the package contains, who runs the connected server, whether it can only read events or also change them, and what confirmation the app requires. That tells me far more than the word ‘plugin’ on its own.
Start with the job you want done.
If I want to reuse a writing procedure on pasted text, a skill may be enough. If I need current calendar data, I need a suitable connection. If I want teammates to install the procedure and connection together, a plugin may be a convenient way to distribute them.
The package should make those pieces easy to inspect. The connection diagram follows an MCP request, and the skill examples show what the saved procedures contain.
Tool details checked against linked documentation on 23 September 2026. Product conventions can change; check the source for your application.