Skip to content

Why Is Claude Code So Slow? Here's How to Fix It

Problem

When I opened Claude Code one morning, I noticed something frustrating. Responses were slow. Not dramatically slow, but noticeable—a delay that made coding feel less fluid. I kept waiting, watching the thinking indicator spin.

I thought maybe it was my internet, or maybe Claude’s servers were busy. But then I realized: my setup had grown massive. Over the months, I’d added MCP servers, skills, agents, hooks—everything looked cool, so I installed it.

Was that the problem?

What happened?

I decided to audit my setup. Here’s what I found:

  • 20 MCP servers (but I only used 5)
  • 80+ skills (most I’d never triggered)
  • 86 slash commands (I knew maybe 10)
  • 25+ agents (what were even in there?)
  • 10 plugins
  • 7 hooks

Total: roughly 235 components.

No wonder it felt slow. Every MCP server runs in the background. Every skill eats context window. Every hook runs on every tool call. It all adds up.

How to solve it?

I did a major cleanup. Here’s what I removed:

MCP Servers (removed 15 of 20)

  • 3 different search MCPs—I kept one
  • 2 duplicate Obsidian connectors—kept one
  • Postgres server I never used—gone
  • Various “just in case” servers—archived

Skills (removed ~50)

I had skills for languages I don’t write, frameworks I don’t use, tools I’d never touch. If I hadn’t used it in 30 days, it went.

Agents (removed 12)

Many were duplicates or specialized agents for projects I abandoned.

Total result

From ~235 components down to 87.

The difference was night and day. Noticeably faster responses. Less context pollution. Lower token usage.

The reason

I think the key reason this happens is:

Every component in your Claude Code setup adds overhead. MCP servers compete for context window space. Skills get loaded even when unused. Hooks run on every single tool call. Agents add complexity to the orchestration.

When you have 235 things loaded, Claude Code has to manage all of them—which means more processing, more context switching, more overhead.

Less is more.

Summary

In this post, I showed why Claude Code gets slow and how I fixed it. The key point is that fewer components mean faster responses, cleaner context, and lower token costs. Audit your setup and remove everything you aren’t actively using.

Final Words + More Resources

My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me

Here are also the most important links from this article along with some further resources that will help you in this scope:

Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!

Comments