Ecosystem and extension model
Claude Code keeps its core harness thin, a single loop that leaves planning to the model, and moves specialization into plugins, MCP servers, SDKs and language servers. Native features keep absorbing popular extensions, so every extension choice needs regular review.
Written by
-
Benedikt Stemmildt Founder & Co-CEO
Updated:
Tools 4
Our position. We pick the mechanism by what the work needs: MCP for external integrations, a skill for knowledge, a sub-agent for work that has to think in its own context. Static knowledge is a skill, dynamic work is a sub-agent (opens in a new tab), and mixing them up makes a setup slow and expensive.
The evidence sits in the system prompt: the model does almost all the work, and the team deleted roughly half the prompt with the Claude 4 models (The Pragmatic Engineer - How Claude Code is built (opens in a new tab)). Each model release lets the team remove more scaffolding, tools and prompting.
Customization moves outward. Plugins bundle slash commands, agents, MCP servers and hooks, install with one command, and distribute through any git repository holding a .claude-plugin/marketplace.json file (Anthropic - Customize Claude Code with plugins (opens in a new tab)). MCP widens the effect: a server built for one assistant works in every client that speaks the protocol (Works on My Machine - MCP: An (Accidentally) Universal Plugin System (opens in a new tab)).
The core also absorbs what the ecosystem proves. Built-in language server support replaced what practitioners wired up through the Serena MCP server (Claude Code Just Got The Ultimate Dev Shortcut (LSP Explained) (opens in a new tab)), and auto memory overlaps the memory plugins (Anthropic - Claude Code overview (opens in a new tab)). Practitioners track native Code Review displacing Greptile and CodeRabbit, and the Agent SDK displacing LangChain and CrewAI (Claude Code Best Practice (opens in a new tab)).
Start here
- The thin-harness ecosystem: Why Claude Code keeps orchestration small, pushes customization outward, and absorbs established extension patterns into the core product.
Related
- The thin-harness ecosystem: the evidence behind the thin core and what it absorbed.
- Authoring skills and subagents: how to write the extension once you picked the mechanism.
- Claude Code Ecosystem: the catalog of plugins, skills and tools around the harness.
- Designing efficient agent interfaces: how to keep tool definitions out of the context.
- The agent loop: the single loop the core keeps thin.
Resources
Articles
- Customize Claude Code with plugins (opens in a new tab) - Anthropic announcement of plugins bundling commands, agents, MCP servers and hooks, distributed through git-hosted marketplaces.
- How Claude Code is built (opens in a new tab) - The Pragmatic Engineer’s deep dive into Claude Code’s thin harness, whose team removes scaffolding with each model release.
- MCP: An (Accidentally) Universal Plugin System (opens in a new tab) - Works on My Machine essay on how every MCP server becomes a plugin for any client that speaks the protocol.
Documentation
- Claude Code overview (opens in a new tab) - Anthropic’s Claude Code documentation overview, including the auto memory that overlaps community memory plugins.
Posts
- Static knowledge is a skill, dynamic work is a sub-agent (opens in a new tab) - LinkedIn post on choosing MCP for integrations, skills for knowledge and sub-agents for work that needs its own context.
Talks and videos
- Claude Code Just Got The Ultimate Dev Shortcut (LSP Explained) (opens in a new tab) - Video walkthrough of Claude Code’s built-in language server support, which replaced MCP-based setups such as Serena.
Tools and repositories
- Claude Code Best Practice (opens in a new tab) - Community collection of Claude Code practices that tracks which ecosystem tools native features displace; MIT.
In this section
- The thin-harness ecosystem
Why Claude Code keeps its core loop small, and what that means for anyone building plugins, MCP servers or other extensions on top of it.