Back to all articles
9 MIN READ

Claude Cowork Plugins: Extending Your AI Assistant's Capabilities

By Learnia Team

Claude Cowork Plugins: Extending Your AI Assistant's Capabilities

📅 Last updated: March 10, 2026 — Covers the Cowork plugin catalog and the Plugin creation API.

📚 Related articles: Skills vs Projects vs Plugins | Skills User Guide | MCP Protocol


What Is a Cowork Plugin?

A Cowork plugin is an extension that connects Claude to external services, APIs, and tools. Plugins allow Claude to:

  • Read data from external sources (Google Drive, Notion, databases)
  • Write to third-party services (Slack, GitHub, email)
  • Transform data with specialized tools (Mermaid, LaTeX, image analysis)
  • Execute actions in external environments (deployments, CI/CD)

Plugins vs Skills vs MCP

AspectCowork PluginsSkillsMCP Servers
NatureService connectionsInternal proceduresOpen tool standard
InstallationIntegrated catalogSKILL.md fileServer configuration
InterfaceNative GUICLI / filesJSON-RPC
Network accessYesNo (local)Yes
Target audienceEnd usersDevelopers/Power usersDevelopers

Exploring the Plugin Catalog

The catalog is accessible from the Claude interface via Menu > Plugins or in Claude Cowork via the extensions icon.

The catalog organizes plugins by category:

CategoryDescriptionPlugin Count
ProductivityGoogle Drive, Notion, Slack, Trello25+
DevelopmentGitHub, GitLab, Code Review, CI/CD20+
VisualizationMermaid, Chart.js, LaTeX, Excalidraw15+
DataSQL, MongoDB, Google Sheets, Airtable12+
CommunicationEmail, Teams, Discord, Webhooks10+
ResearchWeb Search, Academic Papers, News8+

Available Filters

  • By category: Productivity, Dev, Data, etc.
  • By popularity: Installation count
  • By rating: Community reviews
  • By compatibility: Claude Pro, Team, Enterprise
  • By publisher: Anthropic, Verified, Community

Default Installed Plugins

Some plugins come pre-installed with Claude Cowork:

Code Review

The Code Review plugin automatically analyzes shared code:

  • Potential bug detection
  • Performance suggestions
  • Best practices verification
  • Multi-language support (Python, JS, TypeScript, Java, Go, Rust)
You: [Upload file.py]
Claude (via plugin): 
  🔍 Code Review Analysis
  ├── 2 potential bugs detected (lines 42, 87)
  ├── 3 optimization suggestions
  └── Quality score: 7.2/10

Mermaid Diagrams

The Mermaid plugin generates visual diagrams directly in conversation:

  • Flowcharts
  • Sequence diagrams
  • Class diagrams
  • Gantt charts
  • Entity-Relationship diagrams

The Web Search plugin gives Claude access to up-to-date information:

  • Real-time web search
  • Page content extraction
  • Fact verification
  • News monitoring

File Converter

The File Converter plugin transforms files between formats:

  • Markdown → PDF, DOCX, HTML
  • CSV → Excel, JSON
  • Images → optimized formats
  • Code → formatted snippets

Top 10 Must-Have Plugins

RankPluginCategoryUsageRating
1GitHub IntegrationDevRead issues, PRs, create branches⭐ 4.9
2Google DriveProductivityRead/write docs and sheets⭐ 4.8
3Mermaid DiagramsVisualizationGenerate technical diagrams⭐ 4.8
4SQL ExplorerDataQuery databases in natural language⭐ 4.7
5Notion SyncProductivitySync with Notion pages/databases⭐ 4.7
6Code Review ProDevIn-depth code review with metrics⭐ 4.6
7Slack MessengerCommunicationSend/receive Slack messages⭐ 4.6
8Chart BuilderVisualizationCreate interactive charts⭐ 4.5
9Academic SearchResearchSearch scientific publications⭐ 4.5
10Jira ConnectorProductivityManage tickets and sprints⭐ 4.4

Creating a Custom Plugin

Plugin Architecture

📁 my-plugin/
├── manifest.json      → Metadata and declarations
├── src/
│   ├── index.ts       → Entry point
│   ├── handlers/      → Request handlers
│   └── utils/         → Utilities
├── schemas/
│   ├── input.json     → Input schema
│   └── output.json    → Output schema
├── tests/
│   └── plugin.test.ts → Tests
└── README.md          → Documentation

The Manifest File

{
  "name": "weather-plugin",
  "version": "1.0.0",
  "description": "Fetches weather forecasts for any city",
  "author": "your-name",
  "permissions": ["network:read"],
  "endpoints": [
    {
      "name": "get_weather",
      "description": "Get the current weather for a city",
      "input_schema": {
        "type": "object",
        "properties": {
          "city": { "type": "string", "description": "City name" },
          "units": { "type": "string", "enum": ["celsius", "fahrenheit"] }
        },
        "required": ["city"]
      }
    }
  ]
}

Implementing the Handler

// src/handlers/weather.ts
import { PluginHandler, PluginRequest, PluginResponse } from '@anthropic/plugin-sdk';

export const getWeather: PluginHandler = async (req: PluginRequest): Promise<PluginResponse> => {
  const { city, units = 'celsius' } = req.input;
  
  const response = await fetch(
    `https://api.weather.example/v1/current?city=${encodeURIComponent(city)}&units=${units}`
  );
  
  if (!response.ok) {
    return { error: `Unable to fetch weather for ${city}` };
  }
  
  const data = await response.json();
  
  return {
    result: {
      city: data.city,
      temperature: data.temp,
      conditions: data.description,
      humidity: data.humidity
    }
  };
};

Testing Locally

# Install the development SDK
npm install -g @anthropic/plugin-dev

# Launch the test server
plugin-dev serve --manifest ./manifest.json

# Test an endpoint
plugin-dev test get_weather --input '{"city": "Paris"}'

Publishing to the Catalog

# Validate the plugin
plugin-dev validate

# Submit for review
plugin-dev publish --manifest ./manifest.json

The review process typically takes 3 to 5 business days.

Security Model

Granular Permissions

Each plugin declares the permissions it needs:

PermissionDescriptionExample
network:readHTTP read requestsWeather API
network:writeHTTP write requestsPost to Slack
files:readRead shared filesAnalyze a CSV
files:writeCreate/modify filesGenerate a PDF
user:profileAccess user profilePersonalize responses
oauth:*OAuth authenticationGoogle Drive

Verification Process

Plugins go through a security pipeline before publication:

  1. Static analysis: Code checked for known vulnerabilities
  2. Sandbox testing: Execution in an isolated environment
  3. Manual review: Anthropic team review for high-permission plugins
  4. Continuous monitoring: Abnormal behavior surveillance post-publication

Security Best Practices

PracticeDescription
Principle of least privilegeOnly request necessary permissions
Encryption in transitAll data via HTTPS
No secret storageUse the built-in vault for tokens
Audit logsTrace all plugin actions
Rate limitingLimit API calls to prevent abuse

Plugin API — Reference

Plugin Lifecycle

Installation → Authorization → Activation → Execution → Deactivation
     │              │              │             │             │
     ▼              ▼              ▼             ▼             ▼
  Manifest      Permissions     Trigger      Handler      Cleanup
  parsed        granted        matched       called       resources

SDK Events

EventTriggerUsage
onInstallPlugin installedInitialization, configuration
onActivatePlugin activated in a conversationResource loading
onRequestClaude calls an endpointRequest processing
onErrorError during executionError handling, logging
onDeactivateConversation endedResource release

Tips for Plugin Developers

Do's ✅

TipReason
Clear endpoint descriptionsClaude chooses plugins based on descriptions
Strict input schemasReduces call errors
Concise responsesSaves tokens in context
Thorough testingGuarantees reliability
Full documentationFacilitates adoption

Don'ts ❌

Anti-patternRisk
Overly broad permissionsRejection during verification
Endpoints without descriptionsClaude doesn't know when to use them
Overly verbose responsesExceeds context limits
Hardcoded secretsSensitive data leaks
No error handlingDegraded user experience

Conclusion

Cowork plugins transform Claude from a conversational assistant into a productivity hub connected to your everyday tools. Whether you use existing plugins or build your own, the ecosystem offers flexibility suited to all skill levels.

Next steps:

GO DEEPER — FREE GUIDE

Module 0 — Prompting Fundamentals

Build your first effective prompts from scratch with hands-on exercises.

Newsletter

Weekly AI Insights

Tools, techniques & news — curated for AI practitioners. Free, no spam.

Free, no spam. Unsubscribe anytime.

FAQ

What is a Claude Cowork plugin?+

A Cowork plugin is an extension that connects Claude to external services or adds specific capabilities. Unlike Skills that add internal procedures, plugins interact with third-party APIs and tools.

How do I install a Cowork plugin?+

Open the plugin catalog in the Claude interface, search for the desired plugin, and click 'Install.' Some plugins require OAuth authorization to access your third-party service accounts.

Can I create my own plugins?+

Yes. The Plugin API lets you create custom plugins by defining endpoints, input/output schemas, and permissions. The development SDK provides testing and debugging tools.

Are plugins secure?+

Plugins go through a verification process before publication. They work with granular permissions (read-only, write, etc.) and data is transmitted via encrypted connections.

What's the difference between a plugin and an MCP server?+

A Cowork plugin is a native extension of the Claude interface with an integrated catalog. An MCP server is an open standard for connecting tools to any LLM client. Plugins can use MCP internally.