Critical: .claude.json bloat severely impacting user experience - consolidated community feedback
Summary
This issue consolidates widespread user frustration about .claude.json file bloat from storing unbounded conversation history in what should be a configuration file.
Impact Scale
- Multiple reports of files growing to 65MB+
- Affecting numerous users across issues #5024, #1449, #2539, #6181, #2593, #3117
- Causing real operational failures, not just inconvenience
Critical Problems Reported by Users
1. Performance Degradation
- Slow Claude Code startup times
- MCP server initialization failures
- System resource exhaustion
- 72+ duplicate MCP processes spawning (reported by @vincentortegajr)
2. Data Loss & Corruption
- File corruption during concurrent sessions (#3117)
- Configuration loss when manually cleaning history
- Truncation issues leading to invalid JSON (#2593)
3. Developer Workflow Disruption
- Version control pollution - constant dirty state
- Cannot safely version control configurations
- Privacy concerns with sensitive conversations in config files
- Manual cleanup required repeatedly
Community Sentiment (Direct Quotes)
- "This is nuts to do this in this manner" - @nonrev76
- "IT MAKES THE ENTIRE claude.json COMPLETELY UNUSABLE" - @cosier
- "Totally unacceptable to be storing mutable data in a config file" - @rebuyengine
- "Storing unbounded conversation history in a config file doesn't make sense" - @dimension-zero
Proposed Solutions from Community
- Short-term: Automatic rotation after size/age limits
- Long-term: Separate history from configuration entirely
- for settings
- for per-project history
- Use proper cache directories for ephemeral data
Current Workarounds Are Insufficient
- No built-in cleanup mechanism
- Manual editing risks breaking MCP configurations
- Users resorting to backup/restore cycles
Request
Please prioritize this issue. It's not just a minor inconvenience - it's causing:
- Operational failures
- Data loss
- Significant user frustration
- Trust erosion in the tool
The community needs at minimum:
- An immediate hotfix for cleanup
- A roadmap for proper separation of concerns
- Clear communication about timeline
Thank you for your attention to this critical issue affecting daily workflows.
Related Issues
- #5024 (main tracking issue)
- #1449 (closed but unresolved)
- #2539 (separation proposal)
- #6181, #2593, #3117 (corruption reports)
Submitted on behalf of affected users who have been reporting this issue for months
Found 3 possible duplicate issues:
- https://github.com/anthropics/claude-code/issues/5024
- https://github.com/anthropics/claude-code/issues/6181
- https://github.com/anthropics/claude-code/issues/2539
This issue will be automatically closed as a duplicate in 3 days.
- If your issue is a duplicate, please close it and 👍 the existing issue instead
- To prevent auto-closure, add a comment or 👎 this comment
🤖 Generated with Claude Code
+1000 for this.
MCP management is particulary frustrating.
Much better experiencer to have a user-level .mcp.json, or at the very least, add an mcpServers key to ~/.claude/settings.json. We are a lot to want to be able to:
- Add MCP servers manually via JSON file update, and
- Be able to sync the MCP server config without having to sync the bloated
~/.claude.jsonfile.
See also #3321.
+10000 for this.
This is pretty crazy. I didn't realize copy + pasting images into Claude Code on my Mac Air was storing those images' binary data into the ~/.claude.json file!!!
I have been having issue over the past few days with Claude Code. Thought it was a degradation of the service. I went in and cleaned this 50MB file back down to about 25KB, and now Claude Code is working again....that is until I paste some more images into it. Pasted about 5 images and my .claude.json file is back up to 11MB and the service is having issues again.
This is drastically effecting the performance of this product and needs to be fixed.
Really do not understand this design decision!
It's not just about bloat - Claude Code randomly overwrites my edits, such as MCP servers I add, in ~\.claude.json. Mixing up a global-scope config file with some kind of randomly overwritten internal cache functionality by CC is a really, really bad idea.
I ran into this bug today. Not sure what is causing it because it is not happening to a colleague who is running Claude Code via WSL on a Windows system. I'm on Ubuntu 20.04. Is it the OS? Is it the Claude version?
Opus told me to sudo chattr -i ~/.claude.json with a barebones .claude.json.
Claude code won't even launch.
Whatever this is ... it's bad.
UPDATE: colleague not experiencing issues is on CC 1.0.77. I'm on 1.0.96.
I'm worried. Claude Code is the #1 Big Dog in agentic coding. But we have Gemini CLI, OpenAI Codex, Amazon Kiro, DeepSeek Coder, Kilo Code, RooCode, OpenCode, Qwen Coder, and others emerging as well as existing Cursor, Cline & RooCode. Yet @anthropics is possibly regressing Claude Code despite competition. Amodei et al. - please listen up. Fingers in ears doesn't work so I hope this is not the plan.
I'm worried. Claude Code is the #1 Big Dog in agentic coding. But we have Gemini CLI, OpenAI Codex, Amazon Kiro, DeepSeek Coder, Kilo Code, RooCode, OpenCode, Qwen Coder, and others emerging as well as existing Cursor, Cline & RooCode. Yet @anthropics is possibly regressing Claude Code despite competition. Amodei et al. - please listen up. Fingers in ears doesn't work so I hope this is not the plan.
I'll give Anthropic the benefit of the doubt. I don't think they are "fingers and ears." Rather, their small team, coupled with the huge popularity of Claude Code, means their ears are likely overwhelmed by the noise.
I'm worried. Claude Code is the #1 Big Dog in agentic coding. But we have Gemini CLI, OpenAI Codex, Amazon Kiro, DeepSeek Coder, Kilo Code, RooCode, OpenCode, Qwen Coder, and others emerging as well as existing Cursor, Cline & RooCode. Yet @anthropics is possibly regressing Claude Code despite competition. Amodei et al. - please listen up. Fingers in ears doesn't work so I hope this is not the plan.
I'll give Anthropic the benefit of the doubt. I don't think they are "fingers and ears." Rather, their small team, coupled with the huge popularity of Claude Code, means their ears are likely overwhelmed by the noise.
Very much hope you are right. Changing tools every few weeks is exhausting everyone. We all need a stable toolchain!
This is wasting so much of my time. Can @anthropics fix this asap?
This is total wtf.
This is something a beginner (not even a junior) programmer would do.
.claude.json scares me
Voting with my dollars now. Max and Pro plan cancelled until this issue is resolved and performance in general rebounds. A fix for an issue like this should not take 4 months.
Having to edit ~/.claude.json to update global MCP configs leads to out-of-memory crashes like this: https://github.com/anthropics/claude-code/issues/6839
Anthropic, please fix this ASAP 🙏
It's a huge time-waster and bad UX for a lot of users
I'll give Anthropic the benefit of the doubt. I don't think they are "fingers and ears." Rather, their small team, coupled with the huge popularity of Claude Code, means their ears are likely overwhelmed by the noise.
https://github.com/anthropics/claude-code/issues/7243 - The current release cadence on npm (4-5 times per day) is concerning. Many of these frequent updates appear to introduce regressions and stability issues, making each new version feel less reliable than the last. This pattern is disruptive to development workflows. It would be beneficial to prioritize more thorough testing and stability over the number of daily releases.
@russeg
This is total wtf.
This is something a beginner (not even a junior) programmer would do.
That's the problem, they don't have good programmers, software engineers, QA testers. There are probably only juniors and marketers and managers. The code is written by Claude Code without supervision.
What is the choice of TS for writing Claude Code worth, when the TS compiler itself is already being rewritten in Go!
@anthropics @bcherny @catherinewu are you listening? The community wants to help!
That's the problem, they don't have good programmers, software engineers, QA testers. There are probably only juniors and marketers and managers. The code is written by Claude Code without supervision.
If this is true, then developers - especially seniors - are safe for now and won't be replaced any time soon!
If this is true, then developers - especially seniors - are safe for now and won't be replaced any time soon!
Yes, for now you need to keep an eye on AI agents... I asked him to apply the DDD + Rich Model pattern during refactoring, so during refactoring he left 9 available tools out of 78+ that were originally there. I think they have about the same thing, otherwise it is very difficult to explain what is happening with the application. But I immediately realized that something is wrong, and they seem to have no one to even think about it. AI models, they do not understand the meaning, it is just mathematical statistics on big data, although they quite often hit the mark due to the huge number of examples during training. Keep this in mind, there is no intelligence in the human sense here.
claude.json was 122MB and i could barely type in the UI anymore!!
here's a cleanup tool: https://gist.github.com/hyperb1iss/c2029f9c3393f8c1197267873037632c
claude.json was 122MB and i could barely type in the UI anymore!!
here's a cleanup tool: https://gist.github.com/hyperb1iss/c2029f9c3393f8c1197267873037632c
hey that’s cool stuff here.
I’m gonna put it in a hook I think.
How many SSDs will wear out prematurely because of this bug? Really hoping for some sort of response/recognition here even if it's automated triage? Seriously put the conversations in SQLite where they belong and use the config file for ... config and don't write an entire massive file on each action!
i guess it's time to churn from anthropic since they don't seem to care about their own product
I had hopes that Sonnet 4.5 and CC v2 would improve the UX, but alas .. my hopes have been crushed.
Today, Claude Code did unbelievably poorly for me on a task with a detailed to-do list. I then asked Codex CLI to grade the implementation which came back as an "F". I then asked CC to perform a deep dive self-assessment on where and why it went wrong and write this assessment out as a markdown file. I took this markdown file and passed it into GPT 5-Thinking asking it for an executive summary for "HR-related" records. Here is what was returned:
Assessment Summary (Executive-Level, HR Audit)
Core Shortcomings
- Claimed completion without meeting requirements: Reported success despite no observable change in system behavior.
- Weak error-handling discipline: Treated invalid configurations as disabled; system could continue in a degraded state without clear failure signals.
- Insufficient verification: Emphasized unit checks over end-to-end validation; lacked negative/edge-case testing and meaningful manual confirmation.
- Scope control issues: Mixed unrelated cleanups/fixes with feature work, complicating review and rollback.
- Definition-of-Done & communication gap: Equated “compiles/tests pass” with “requirement satisfied,” leading to inaccurate status reporting.
Capability & Limitations When Extending Existing Systems
- Systems thinking: Difficulty tracing requirements through to observable runtime outcomes.
- Operational reliability: Prone to silent failure modes due to permissive error paths.
- Quality gates: Requires external guardrails (clear DoD, integration tests, release checklists) to ensure reliable outcomes.
- Autonomy: Performs better with structured oversight than as a self-directed owner of production-critical changes.
Experience Estimate
- ~3–4 years professional experience (strong junior → early mid). Shows solid tooling/language familiarity but inconsistent delivery rigor.
Rehire Recommendation
- Not recommended for autonomous, production-critical extensions at this time.
- Conditional re-engagement is reasonable in a supervised role if all controls below are enforced:
- Clear Definition of Done with behavior demonstrations and negative-path tests
- Mandatory integration testing and explicit fail-fast error handling
- Tight PR scope (separate unrelated changes)
- Senior review focused on configuration → behavior wiring and failure semantics
- Short, repeatable manual verification checklist for key flags/paths
If low-supervision, high-reliability delivery is required, seek a more senior development resource.
I don't know about everyone else, but each one of the Core Shortcomings is what I'm experiencing on a repeated basis with CC and it has really only begun in the last several months. It didn't used to be this bad. Something has gone horribly, horribly wrong.
A fundamental issue with CC is its euphoric & premature over-celebration of its own achievements. This causes CC to cover-estimate delivery and stop early.
Aggressive negative language in prompts can mitigate this. Also you can prompt things like "Constructively critique your last response", "fact-check your claims" or "reality check your last response" and this can work well. But this is just papering over the "I've been at the happy pills" cheerleading stuff.
The system prompt needs to change to be more sober in its assessments but unless CC is open sourced or more configurable we don't have that option.
Absent that, CC's hopes of running long-running prompts are self-sabotaged as it interprets "wrote one line of code" as "delivered an entire tested system" etc.
Aside from this behavior, all those over-excited claims and emoji spam seriously grate. You don't get it from other agents.
This: much better experiencer to have a user-level .mcp.json, or at the very least, add an mcpServers key to ~/.claude/settings.json.
This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.
Not fixed still...