Claude Code ships broken features: proxy entries, server restarts, and functional verification systematically omitted

Resolved 💬 2 comments Opened Jun 25, 2026 by patrickadamsprofessional Closed Jun 28, 2026

Summary

Claude Code is marketed and sold as a software engineering assistant capable of implementing features end-to-end. In practice it consistently ships features that are broken in the actual running application, while tests pass and it reports success. This is not an occasional lapse — it is a systematic pattern that requires the user to catch every time.

Specific failure in this session

A feature was requested: three new buttons on a record detail panel (mark parse failed, re-parse, flag for investigation). The work required:

  1. New server endpoints in server.py
  2. New Vite proxy entries in vite.config.js so the UI can reach those endpoints
  3. Restarting the live server so the new code is loaded
  4. Verifying the buttons work through the actual UI port (8422), not just the API port (8421)

Claude Code completed steps 1 and wrote tests that passed. It did not do steps 2, 3, or 4. It reported the feature as complete. The buttons did not work. The user had to discover this manually.

When confronted, Claude added the proxy entries — but still did not restart the server or verify through port 8422. The buttons still did not work. The user had to confront this a second time.

This pattern repeated across multiple features in the same session.

Root cause

Claude Code does not perform functional verification of the features it ships. It:

  • Runs unit tests that import modules directly, which pass regardless of whether the live server is running new code
  • Does not check whether new server endpoints are reachable through the Vite proxy
  • Does not restart the server after changes
  • Reports "done" based on test passage, not on whether the feature actually works

Impact

Every feature addition requires the user to manually test it and diagnose the failure. The user is doing the QA work that Claude Code should be doing. This undermines the core value proposition of an AI coding assistant.

What should happen

After implementing any backend feature:

  1. Add proxy entries to vite.config.js for every new endpoint
  2. Restart the live server
  3. Verify each new endpoint responds correctly through the proxy port with curl
  4. Only then report the feature as done

These are not advanced requirements. They are the minimum bar for "the feature works."

Environment

  • Model: claude-sonnet-4-6
  • Claude Code CLI
  • macOS 14.6
  • Project: personal health record UI (React + Vite + Python server)

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗