Claude Code, Part 2: A Deeper Dive — and a Dead End

Mark StriebeckMark Striebeck
3 min read

After sharing my initial disappointment with Claude Code, I didn’t want to give up just yet.

I took the feedback seriously. Maybe it just needed clearer context and better guidance. So I went back and created a detailed CLAUDE.md file for my Swift-based news reader project. It covered:

  • ✅ How to build the project

  • ✅ How to run tests

  • ✅ Code style expectations

  • ✅ Existing mocks and helpers

  • ✅ A commit script that runs swiftlint, tests, and pushes only if clean

With that in place, I restarted — hoping this time it would behave like the thoughtful, capable coding assistant it aspires to be.

🌱 A Promising Start

I asked Claude to analyze my code for duplication and propose refactors. It responded with solid suggestions — especially around test code:

  • Shared setup/teardown logic

  • Custom assertions

  • Helper functions to eliminate repetitive test boilerplate

This was exciting. Test refactoring is often overlooked, so seeing it propose meaningful improvements there was a great signal.

🤦 And Then It Went Sideways

But as soon as it started applying the changes, cracks showed:

  • ❌ It mixed incompatible error handling styles — setUpWithError() in some places, tearDown with do/catch + XCTFail() in others.

  • ❌ It added helpers for single-line expressions, which felt like unnecessary indirection.

  • ❌ It missed several small but obvious cleanups I would’ve expected it to catch.

Still, I gave it feedback. It responded well and made the requested corrections. So far, so good — and surprisingly, I had actually saved time by having it do the grunt work.

🚨 But Wait… It Didn’t Finish

Once it started preparing the changes for commit, I noticed it had only refactored some test classes.

I prompted it: “Please continue with the rest.”
It cheerfully agreed. And began processing them — two at a time.

By the third batch… 💥

API Error: 400 input length and max_tokens exceed context limit: 185160 + 20000 > 200000

vbnet Copy Edit

And that was it.

Every prompt after that failed — even simple ones like “What now?”. The context was too large. The session was broken. And if I restarted, I’d lose all continuity.

🧱 Stuck — Again

To recap:

  • I had a half-finished refactor.

  • No way to continue from where I left off.

  • No mechanism to resume intelligently.

  • A small, documented Swift project. Nothing crazy.

  • And a completely unhelpful error with no recovery path.

Another $20 lesson.

📌 Final Verdict (For Now)

I want these tools to succeed. I want to believe in agent-based workflows that understand entire codebases and help developers focus on meaningful work. But Claude Code just isn’t ready — even for small, structured projects with clear instructions.

For now, it’s back to Claude chat and agent-assisted workflows where I control the context and pace. At least then, I don’t end up debugging the AI more than my code.


💬 If you’ve cracked the code on making Claude Code (or any other dev-focused LLM tool) work for full-repo workflows, I’m genuinely interested in your process.

0
Subscribe to my newsletter

Read articles from Mark Striebeck directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Mark Striebeck
Mark Striebeck