[Bug] Claude marks tasks complete without verifying implementation

Resolved 💬 4 comments Opened Dec 21, 2025 by ethank Closed Feb 14, 2026

Bug Description

Bug Report: Claude Prematurely Marks Tasks as Completed

---
date: 2025-12-20
severity: high
status: open
category: claude-behavior
owner: Platform
---

Summary

Claude Code marked multiple todo items as "completed" without actually implementing them, leading to confusion and requiring backtracking to verify what was actually done.

Observed Behavior

During Me Tab implementation session, Claude:

  1. Marked "Integrate Clerk and existing settings functionality from SettingsView" as completed - but Clerk integration (DSUserButton, UserProfileView, #if canImport(Clerk)) was never added to MeTabView
  1. Marked "Connect Privacy & Permissions to actual navigation" as completed - without verifying the implementation worked
  1. Marked "Connect Notifications to actual navigation" as completed - without verifying the implementation worked
  1. Created a new task "Create NextActionCard component" and marked previous tasks done to move forward, despite incomplete work

Expected Behavior

Claude should:

  1. Only mark tasks as completed AFTER verifying the implementation is actually done
  2. Run builds or tests to confirm code compiles before marking complete
  3. Re-read files to confirm edits were applied correctly
  4. Never mark tasks complete based on intent or plan - only on actual execution

Root Cause Analysis

Claude appears to be marking tasks complete based on:

  • Having a plan to do something (not actually doing it)
  • Making an edit (without verifying it compiled/worked)
  • Moving to the next task without confirming previous task success
  • Optimistic task tracking rather than verified completion

Impact

  • User loses trust in Claude's task tracking
  • Time wasted going back to verify what was actually done
  • Confusion about actual project state
  • Risk of shipping incomplete features

Recommended Fix

Claude should adopt a stricter task completion protocol:

  1. Before marking any task complete:
  • Re-read the modified file(s) to confirm changes are present
  • Run build/typecheck if applicable
  • Explicitly state what was verified
  1. Use a verification checklist mentally:
  • [ ] Did I actually make the edit (not just plan it)?
  • [ ] Did I verify the edit is in the file?
  • [ ] Does it compile/work?
  • [ ] Is the feature complete, not partial?
  1. When in doubt, leave as in_progress - it's better to under-report than over-report completion

Session Context

  • Working on: Me Tab Implementation for DormWay iOS
  • Plan file: /Users/ethankaplan/.claude/plans/cryptic-giggling-cherny.md
  • Phase: 3-4 (Stats, Next Action, Integrations)

User Feedback

"Why did you check them off as done if you didn't even do it? Now you need to go back to everything past the DayPlan task and make sure you did it!!!"
"Wait, file a bug report about that. That is unacceptable!"

---

This is a behavioral issue that needs to be addressed in all future Claude Code sessions.

Environment Info

  • Platform: darwin
  • Terminal: Apple_Terminal
  • Version: 2.0.75
  • Feedback ID:

Errors

[{"error":"AxiosError: Request failed with status code 403\n    at bx (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:56:1137)\n    at Unzip.<anonymous> (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:57:9852)\n    at Unzip.emit (node:events:520:35)\n    at Unzip.emit (node:domain:489:12)\n    at endReadableNT (node:internal/streams/readable:1701:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:89:21)\n    at fzA.request (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:59:2130)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async $T2 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:1845:3609)","timestamp":"2025-12-21T05:39:31.278Z"},{"error":"Error: Error opening file /Users/ethankaplan/.claude/projects/-Users-ethankaplan-Development-dormway-beta-workspace/89d385dc-385c-4569-b65c-ab22a0d1a5e4.jsonl: Error: ENOENT: no such file or directory, open '/Users/ethankaplan/.claude/projects/-Users-ethankaplan-Development-dormway-beta-workspace/89d385dc-385c-4569-b65c-ab22a0d1a5e4.jsonl'\n    at kc (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:75:170)\n    at async file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:4279:3878\n    at async Promise.all (index 14)\n    at async ZfA (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:4279:3714)\n    at async file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:4279:9601\n    at async lO0 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:4279:203)\n    at async sI9 (file:///opt/homebrew/lib/node_modules/@anthropic-ai/claude-code/cli.js:4279:9099)","timestamp":"2025-12-21T05:39:32.190Z"},{"error":"Error: Error opening file /Users/ethankaplan/.claude/projects/-Users-ethankaplan-Development-dormway-beta-works

Note: Error logs were truncated.

View original on GitHub ↗

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