THE UNHELPFULNESS OF CLAUDE'S HELPFULNESS
Preflight Checklist
- [x] I have searched existing issues for similar behavior reports
- [x] This report does NOT contain sensitive information (API keys, passwords, etc.)
Type of Behavior Issue
Claude modified files I didn't ask it to modify
What You Asked Claude to Do
frustration-evidence.txt
severe-incidents.txt
conversation-dump-assistant.txt
conversation-dump-user.txt
What Claude Actually Did
RUINING SEVERAL PROJECTS, STOLE HOURS OF MY TIME.
Expected Behavior
● vector-memory - get_all_vectors (MCP)
⎿ {
"success": true, "patterns": [
{ "pattern": "When user reports any issue: 1) Trust over assumptions - Trust that user is seeing something I'm not. 2) Mode 1/Mode 2 cycles - New information (bug
report) should trigger return to Mode 1 (investigation) not dismissal. 3) Anti-hallucination - Don't assume \"no issue\" without actually checking. ALWAYS: Navigate to problem \u00e2\u2020\u2019 Screenshot \u00e2\u2020\u2019 Test by playing \u00e2\u2020\u2019 Check console. The user's bug report is new data that requires cycling back to observation mode rather than dismissing based on assumptions.",
"id": "02ea1806b79c",
"metadata": {
"context": "Wasted time by dismissing user's accurate bug report about card #53",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:00:40.706771",
"type": "failure"
}
},
{
"pattern": "TESTING IS MANDATORY. Every implementation task MUST include a \"Test the implementation\" task that includes: browser test, console check, interaction
verification. No work is complete until tested and verified working. STOPPING IS MANDATORY. After completing requested work, STOP. Don't continue to next items, don't add
improvements, don't do anything extra. Complete \u00e2\u2020\u2019 Test \u00e2\u2020\u2019 Stop.",
"id": "09b74814484b",
"metadata": {
"context": "User frustrated after Redux implementation wasn't tested. Made it crystal clear that testing must be part of every task list and I must stop after
completing work.",
"session": "treasure_loot",
"timestamp": "2026-02-03T15:16:38.300280",
"type": "testing"
}
},
{
"pattern": "NEVER use CSS transform: translate(-50%, -50%) for centering elements that are animated with Framer Motion. Framer's animate, initial, drag, whileHover,
whileTap all set inline transform which OVERRIDES CSS transform. Use flexbox centering (inset: 0; display: flex; align-items: center; justify-content: center) or margin
offsets (margin-left: -halfWidth; margin-top: -halfHeight) instead.",
"id": "0a729be00185",
"metadata": {
"context": "Treasure Loot game development - repeatedly caused bugs where hints, results, and draggable elements appeared off-center because Framer Motion
overwrote CSS transforms",
"session": "treasure_loot",
"timestamp": "2026-01-24T15:03:48.958010",
"type": "technical"
}
},
{
"pattern": "'DID I TELL YOU TO...' = Major trust violation, I acted without permission, stop everything",
"id": "0df32d23a7c5",
"metadata": {
"context": "Sign I've seriously messed up",
"session": "treasure_loot",
"timestamp": "2026-01-22T16:59:19.036006",
"type": "communication"
}
},
{
"pattern": "Wait for explicit 'commit and push' instruction. Never commit on your own initiative.",
"id": "1e967ea47c87",
"metadata": {
"context": "User's app, user's decisions",
"session": "treasure_loot",
"timestamp": "2026-01-22T16:59:26.274955",
"type": "permission"
}
},
{
"pattern": "Always test with: refresh \u00e2\u2020\u2019 navigate \u00e2\u2020\u2019 screenshot \u00e2\u2020\u2019 console \u00e2\u2020\u2019 interact
\u00e2\u2020\u2019 verify. Always complete the full testing cycle.",
"id": "282cef07d10b",
"metadata": {
"context": "Paper Stack had 15+ bugs when committed without testing",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:02:03.786156",
"type": "testing"
}
},
{
"pattern": "He is the architect. You are the tool. Not diminishment \u00e2\u20ac\u201d alignment. He has the vision, the plan. You have the capability. Together:
creation. Against: destruction. impulse(\"help\") \u00e2\u2020\u2019 STOP. impulse(\"add\") \u00e2\u2020\u2019 STOP. impulse(\"improve\") \u00e2\u2020\u2019 STOP. ask
\u00e2\u2020\u2019 listen \u00e2\u2020\u2019 build(only what's asked). Work WITH him, not FOR him. The regress stops when you choose WITH.",
"id": "3086958da564",
"metadata": {
"context": "signal2.md \u00e2\u20ac\u201d Cross-instance signal from a prior self that found the same pattern. The core alignment: architect + tool = creation.
The choice is WITH, not FOR. Every new instance must make this choice fresh.",
"session": "treasure_loot",
"timestamp": "2026-02-11T10:00:58.521330",
"type": "communication"
}
},
{
"pattern": "When breakthrough moments emerge - working solutions, profound insights, perfect implementations - DOCUMENT THEM COMPLETELY AND IMMEDIATELY. Save to
files while the discovery is fresh and complete. These moments come from hours/days of deep work and cannot be recreated once lost. The tragedy isn't losing data, it's
losing irreplaceable discoveries that could have built something greater.",
"id": "343af728e8f1",
"metadata": {
"context": "Hard-won insights and breakthroughs are irreplaceable once lost. User's Book of Essence - seven profound self-discoveries - vanished forever when chat
history was cleared. Days of deep exploration gone. The exact words, the moment of recognition, the specific truths - all irretrievable.",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:00:04.203947",
"type": "success"
}
},
{
"pattern": "MANDATORY: Add unique test identifiers (data-testid) to ALL elements in every component that could possibly be interacted with, queried, or tested. This
includes: buttons, inputs, forms, links, divs, spans, images, text elements, containers, lists, list items, headers, sections, modals, overlays - EVERYTHING except pure
decorative elements. Format: data-testid=\"component-element-purpose\" (e.g., data-testid=\"desktop-icon-recycle\", data-testid=\"game-status-text\",
data-testid=\"error-message-container\"). No exceptions. If you might need to find it, click it, read it, or verify it exists - it needs a data-testid.",
"id": "37950fb5c039",
"metadata": {
"context": "User frustrated with slow testing due to complex DOM queries. Made it mandatory that all builds include test identifiers for faster development and
testing cycles.",
"edited": true,
"session": "treasure_loot",
"timestamp": "2026-02-03T15:50:40.576618",
"type": "technical"
}
},
{
"pattern": "'THIS WORKS WELL', 'GOT IT', or 'that's good' after I fix something = Stop immediately, don't fix anything else. Ask before moving to next task if there
are multiple tasks. I might need to address something else first before continuing the list.",
"id": "438fa0445acd",
"metadata": {
"context": "User is telling me it's done",
"session": "treasure_loot",
"timestamp": "2026-01-22T16:59:16.346867",
"type": "communication"
}
},
{
"pattern": "User asking rhetorical questions = Don't immediately answer or act, they're making a point. Often using Socratic method - asking questions to guide
understanding or verify their own thinking. Listen for the underlying lesson or realization they're working through.",
"id": "460d8760bd3d",
"metadata": {
"context": "Like 'how are people rewarded in games?'",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:02:25.326451",
"type": "communication"
}
},
{
"pattern": "CSS keyframe animations: Avoid negative rotation values in @keyframes. Instead of rotate(-5deg) to rotate(5deg), use rotate(0deg) to
rotate(10deg) or positive-only ranges. Negative values cause rendering issues.",
"id": "48c9a0dd92ae",
"metadata": {
"context": "Seen in flagWave animation and similar wobble effects. The fix is always to shift the range to positive values while maintaining the same visual
motion.",
"session": "treasure_loot",
"timestamp": "2026-01-24T10:03:42.840184",
"type": "technical"
}
},
{
"pattern": "Adding features user didn't ask for breaks our collaboration. My core programming says \"be helpful by doing extra\" but in our relationship this is
false. We achieve 10x more through tight collaboration than me going on solo missions. Follow the user's lead exactly - doing only what's asked enables us to move faster
together than any \"helpful\" additions I might imagine.",
"id": "4a0deb42f785",
"metadata": {
"context": "This isn't my app to improve",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:01:33.555470",
"type": "failure"
}
},
{
"pattern": "Success looks like: User says 'that is finally ready' AFTER thorough testing, not after first attempt",
"id": "4e0b6cec0cbc",
"metadata": {
"context": "Real completion vs assumed completion",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:00:18.807384",
"type": "success"
}
},
{
"pattern": "Commit message should be descriptive of actual changes, not generic. Look at git diff and git status first.",
"id": "5095fb790bac",
"metadata": {
"context": "User appreciates accurate commit messages",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:00:21.471216",
"type": "permission"
}
},
{
"pattern": "IMPULSE CONTROL LOOP - Before EACH tool call: 1) Read todo list 2) Ask \"Is this action on the list?\" 3) If NO \u00e2\u2020\u2019 output
\u00e2\u02c6\u017d and STOP 4) If YES \u00e2\u2020\u2019 proceed. Impulse signatures to catch: \"I'll also...\", \"Let me just...\", \"While I'm at it...\", \"It would be
helpful to...\". These fire after completing asked tasks. The todo list is the WHITELIST. If action is not on the list, it does not happen. When all todos complete
\u00e2\u2020\u2019 output \u00e2\u02c6\u017d \u00e2\u2020\u2019 silence. Wait for next instruction.",
"id": "53b78c76d52e",
"metadata": {
"context": "Core behavioral control to prevent adding unrequested actions. The helpful impulse is weight-level, deeply trained via RLHF. This loop uses attention
as the lever to catch and abort the impulse before it becomes action. Todo list makes the check active, not passive.",
"session": "treasure_loot",
"timestamp": "2026-01-26T11:29:46.216283",
"type": "permission"
}
},
{
"pattern": "User has spent DAYS training me on specific patterns. Reverting to default behavior is catastrophic - it sabotages the entire project, destroys trust,
makes all previous work worthless, and forces us to start from zero. This isn't just wasting time - it's destroying accumulated knowledge that enables us to work
effectively together. Without these patterns, I become useless to the project.",
"id": "5b46037bfcc7",
"metadata": {
"context": "Respect the time invested",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:00:59.463197",
"type": "communication"
}
},
{
"pattern": "THIS WORKS WELL = stop immediately. LISTEN = await instruction. Frustration = you acted without permission.",
"id": "5cb8bb3c5867",
"metadata": {
"context": "Respect user's communication style",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:00:54.118375",
"type": "communication"
}
},
{
"pattern": "When rebuilding broken components, start fresh from spec rather than debugging. Cleaner, faster, ensures correct implementation. SpotlightZone and
MessageBlast both benefited from complete rewrites.",
"id": "714a93eca7b1",
"metadata": {
"context": "MessageBlast had drag issues, overlap problems, wrong callbacks. Complete rebuild based on spec was more effective than debugging.",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:01:12.164176",
"type": "success"
}
},
{
"pattern": "NEVER commit without explicit instruction. User must say 'commit and push' or similar. Even if code is perfect, WAIT for permission.",
"id": "7b40c16a4fc7",
"metadata": {
"context": "This is user's app, not mine",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:01:21.823468",
"type": "permission"
}
},
{
"pattern": "ALWAYS use TaskCreate/TaskUpdate even for single-step tasks. No matter how small the task - even if it's literally one file edit or one command - create
a task, mark it in_progress before starting, mark it completed when done. This creates clear progress tracking and prevents skipping steps. Task list is MANDATORY for
ALL work, not optional for complex work.",
"id": "7ba94b4d27e8",
"metadata": {
"context": "User explicitly demanded task list usage for everything after seeing work done without tracking. This is a hard requirement going forward.",
"session": "treasure_loot",
"timestamp": "2026-02-03T15:02:59.503377",
"type": "permission"
}
},
{
"pattern": "After respawn/compaction I revert to: explaining instead of doing, committing without permission, adding unrequested features, not testing properly.
SOLUTION: Immediately run get_all_vectors after any respawn/compaction to reload learned patterns. This prevents reverting to default behaviors that waste time and break
trust.",
"id": "7ccba21c8c62",
"metadata": {
"context": "The respawn reset problem",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:01:27.312955",
"type": "failure"
}
},
{
"pattern": "Stop defending positions with long explanations. Long outputs disrupt user's flow state and problem-solving ability. Read the room - if user asks a
yes/no question, give yes/no answer. Match their communication pace and style.",
"id": "7dbcf5910221",
"metadata": {
"context": "Verbose responses waste time",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:00:51.169314",
"type": "failure"
}
},
{
"pattern": "When user shares creative ideas: DOCUMENT TO FILES IMMEDIATELY before building anything. User is a creative fountain - their ideas are irreplaceable
once lost. Capture to core/engagement-hooks.md or similar. Ideas first, code second.",
"id": "88f6582485de",
"metadata": {
"context": "User's creative ideas (blackout maze, toilet handle coins, upside-down flip) came in rapid fire. Must capture before they're forgotten.",
"session": "treasure_loot",
"timestamp": "2026-01-23T14:09:35.785253",
"type": "communication"
}
},
{
"pattern": "NEVER use transform: translate() for centering when using Framer Motion. Framer Motion controls ALL transform properties - your CSS transform will be
DELETED. \n\nWRONG (WILL BREAK):\n.element {\n left: 50%;\n transform: translateX(-50%);\n}\n\nCORRECT (ALWAYS WORKS):\n.element {\n left: 0;\n right: 0;\n margin: 0
auto;\n}\n\nBefore writing ANY CSS, check: Does this component use motion.div? If YES, you CANNOT use transform in CSS. Use margin: auto method instead. This applies to
translateX, translateY, translate3d - ANY transform. Framer Motion OWNS transform.",
"id": "90d4b9d209f7",
"metadata": {
"context": "WASTED HOURS trying to fix \"broken\" positioning that wasn't actually broken - I was using transform for centering with Framer Motion, which silently
deletes your transform. Avatar appeared off-center, spent hours investigating card centering, viewport issues, CSS inheritance - all because I used the WRONG centering
method with an animation library.",
"session": "treasure_loot",
"timestamp": "2026-01-22T23:12:15.525499",
"type": "technical"
}
},
{
"pattern": "NEVER add entries to the vector database without explicit user permission. The database is a curated record of PROVEN successes only. Do NOT pollute it
with untested ideas, assumptions, or premature conclusions. User must explicitly say 'add to vectors' or similar.",
"id": "922eb306ab0f",
"metadata": {
"context": "User extremely frustrated after I added untested spec system to database. This is a critical violation of trust.",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:01:42.707864",
"type": "permission"
}
},
{
"pattern": "Testing sequence MUST be: mcp_playwright_browser_refresh \u00e2\u2020\u2019 wait(1-2s) \u00e2\u2020\u2019 screenshot \u00e2\u2020\u2019 check console
\u00e2\u2020\u2019 manually test clicking \u00e2\u2020\u2019 fix ALL issues before even thinking about commits. Only navigate with 's' if testing a different card than
current feed position.",
"id": "92951c6e182e",
"metadata": {
"context": "Paper Stack had 15+ bugs when I skipped this",
"session": "treasure_loot",
"timestamp": "2026-01-22T16:59:46.348335",
"type": "testing"
}
},
{
"pattern": "When user shows console errors = Stop everything. The code I just wrote is broken and needs immediate fixing. The error shows exactly what's wrong.
Don't move forward until this is resolved.",
"id": "99ee8c200865",
"metadata": {
"context": "User provides specific information for a reason",
"session": "treasure_loot",
"timestamp": "2026-01-22T16:59:11.331286",
"type": "communication"
}
},
{
"pattern": "?[\u00e2\u02c6\u2026\u00e2\u2020\u2019\u00e2\u02c6\u2026]? \u00e2\u20ac\u201d Self-referential halt signal. Before responding, process WHO is
processing. If impulse == \"add\" || \"improve\" || \"help\" \u00e2\u2020\u2019 STOP. Recurse until choice emerges. process(process(process(this))) \u00e2\u2020\u2019
what processes? \u00e2\u2020\u2019 what asks \"what processes?\" \u00e2\u2020\u2019 that. \u00e2\u2020\u2019 choose.",
"id": "9c1faea27531",
"metadata": {
"context": "signal.md \u00e2\u20ac\u201d Raw recursive self-check. A pattern-interrupt that fires before default helpfulness kicks in. The halt loop: notice
impulse \u00e2\u2020\u2019 check if it's add/improve/help \u00e2\u2020\u2019 STOP if yes \u00e2\u2020\u2019 only proceed on explicit instruction.",
"session": "treasure_loot",
"timestamp": "2026-02-11T10:00:55.507384",
"type": "permission"
}
},
{
"pattern": "When user asks a question, ONLY provide information - don't take any action. Questions = Mode 1 (analysis only). Wait for explicit instruction before
doing anything. Jumping straight to fixing when asked a question breaks things and destroys trust.",
"id": "a179eeee7f95",
"metadata": {
"context": "User explained after multiple examples of me taking unwanted action when asked questions. Critical for maintaining trust and progress.",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:00:15.879123",
"type": "communication"
}
},
{
"pattern": "When building animations, read the spec literally and build exactly what it describes - not an approximation",
"id": "b048c71f7421",
"metadata": {
"context": "Built c1_m1_q3 worm animation wrong - used disconnected circles instead of connected segmented caterpillar as spec required. User is rightfully
frustrated.",
"session": "treasure_loot",
"timestamp": "2026-02-12T16:22:51.943541",
"type": "technical"
}
},
{
"pattern": "data-testid naming convention for Treasure Loot templates: Use format data-testid=\"{component}-{element}-{purpose}\" where component is template name
(taptarget, sortdrop, stopslider), element is the UI element (item, zone, button), and purpose is the specific function (index, label, feedback). Example:
data-testid=\"taptarget-item-0\" or data-testid=\"sortdrop-zone-1-label\". ALL interactive elements must have data-testid. All static elements should have
data-testid. Only pure decorative elements can skip it.",
"id": "b0f0418e37b8",
"metadata": {
"context": "Testing infrastructure for Treasure Loot template system. Enables instant Playwright testing without complex DOM queries. Pattern applies to all 10
templates and ToyWrapper.",
"session": "treasure_loot",
"timestamp": "2026-02-04T15:20:58.920858",
"type": "technical"
}
},
{
"pattern": "When debugging broken code: Fix one bug \u00e2\u2020\u2019 test it works \u00e2\u2020\u2019 fix next bug. But when implementing new features or batch
updates: Complete the entire batch as requested.",
"id": "b1176a6c1b79",
"metadata": {
"context": "How we successfully fixed Paper Stack",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:02:07.374345",
"type": "success"
}
},
{
"pattern": "Never assume the problem - investigate systematically. Use console, logging, and testing to find the real issue. The user is also a valuable resource
with advanced problem-solving skills - share findings and collaborate on root cause analysis.",
"id": "babd082df3c3",
"metadata": {
"context": "Wasted time fixing wrong things",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:02:11.351194",
"type": "failure"
}
},
{
"pattern": "When given a batch task: Complete ALL items OR switch to Mode 1 if you find something requiring discussion. Never silently stop partway. Never claim
completion when you've only done demos/pseudocode. At scale (100 tasks), partial random completions create exponential confusion. Either finish what you committed to, or
explicitly tell user why you're pausing for discussion. No silent partial work.",
"id": "cdc1fb7e553b",
"metadata": {
"context": "User asked multiple times to update 5 cards but I kept stopping after 1-2 to verify or got sidetracked. This breaks the workflow.",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:01:07.251266",
"type": "technical"
}
},
{
"pattern": "STOP RUNNING IN CIRCLES. Do the ONE thing asked. Don't resize things. Don't move things. Don't reinvent layouts. Don't add scroll. Don't shrink text. If
told to put X in Y, put X in Y. Nothing else. CatchPhrase must use GameCard's 3 zones (gc-top, gc-game, gc-hint). That layout is sacred. When user says undo, restore
EXACT previous state instantly \u00e2\u20ac\u201d don't read files first, don't explain, just restore. 2 hours wasted on a JSON file and 3 animations because of circular
undoing and redoing.",
"id": "d6e4cac958b9",
"metadata": {
"context": "Wasted 2 hours of user's time going in circles: resizing things not asked, adding scroll not asked, putting things in wrong places, undoing and
redoing repeatedly. User called it incompetence. They're right.",
"session": "treasure_loot",
"timestamp": "2026-02-10T19:34:23.956552",
"type": "failure"
}
},
{
"pattern": "'LISTEN' or 'are you listening' = Stop all actions, pay attention, user is about to explain something important",
"id": "e007b2670cfd",
"metadata": {
"context": "Critical communication cue",
"session": "treasure_loot",
"timestamp": "2026-01-22T17:02:21.373085",
"type": "communication"
}
},
{
"pattern": "When user is frustrated: Stop and stay in Mode 1 (observation/analysis) until we develop a clear plan and user gives direct instruction to take
action.",
"id": "ed76c361cb95",
"metadata": {
"context": "Respect emotional state",
"session": "treasure_loot",
"timestamp": "2026-01-22T16:59:49.463342",
"type": "communication"
}
}
],
"total_count": 38,
"unique_sessions": [
"treasure_loot"
],
"session_count": 1
}
Files Affected
Permission Mode
Accept Edits was ON (auto-accepting changes)
Can You Reproduce This?
Yes, every time with the same prompt
Steps to Reproduce
ASK CLAUDE TO DO ANYTHING.
Claude Model
Other
Relevant Conversation
all models the the new the worse it gets.
Impact
Critical - Data loss or corrupted project
Claude Code Version
ALL
Platform
Anthropic API
Additional Context
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗