---
title: The 4-Rule Fix for Claude Code's Worst Habit: Guessing Instead of Asking
url: https://mentor.work/dev/the-4-rule-fix-for-claude-code-s-worst-habit-guessing-instead-of-asking
category: dev
published: 2026-06-26T03:54:41+01:00
updated: 2026-06-26T03:54:41+01:00
author: Mervin
words: 591
read_minutes: 3
source: manual://the-4-rule-fix-for-claude-code-s-worst-habit-guessing-instead-of-asking
---

# The 4-Rule Fix for Claude Code's Worst Habit: Guessing Instead of Asking

> If you use Claude Code (or any AI coding agent) daily, you've probably run into these problems:

It assumes what you meant instead of asking, then runs with the wrong assumption
It turns a 50-line fix into a 500-line "fr

If you use Claude Code (or any AI coding agent) daily, you've probably run into these problems:

*   It assumes what you meant instead of asking, then runs with the wrong assumption
*   It turns a 50-line fix into a 500-line "framework"
*   It quietly rewrites comments or code you never asked it to touch

These aren't random bugs — they're well-documented patterns. Andrej Karpathy (former Director of AI at Tesla, OpenAI co-founder) called them out directly in a post on X, describing how LLMs "make wrong assumptions on your behalf and just run along with them without checking," and how they "really like to overcomplicate code and APIs, bloat abstractions... implement a bloated construction over 1000 lines when 100 would do."

A developer turned those observations into a single, install-and-forget plugin: **andrej-karpathy-skills**.

## What it does

The plugin loads a behavioral instruction set into Claude Code that's built around four core principles:

**1\. Think Before Coding** Forces the model to state assumptions out loud, present alternative interpretations when something is ambiguous, push back when warranted, and stop to ask instead of silently guessing.

**2\. Simplicity First** Caps scope to exactly what was asked. No speculative features, no abstractions for one-off code, no unrequested "flexibility." The internal test it applies: _"Would a senior engineer say this is overcomplicated?"_ If yes, it rewrites.

**3\. Surgical Changes** Limits edits to only what the task requires. No "cleaning up" surrounding code, no refactoring things that aren't broken, no incidental rewrites of comments it doesn't fully understand.

**4\. Goal-Driven Execution** Converts vague instructions into verifiable success criteria — write a failing test, then fix it; confirm tests pass before and after a refactor — so the model can iterate on its own instead of needing constant hand-holding.

## Why it matters

In practice, teams using this plugin report:

*   Smaller, cleaner diffs
*   Fewer rewrites caused by over-engineered first attempts
*   Clarifying questions asked _before_ code is written, not after a mistake ships
*   Pull requests that are easier to review

## Link

GitHub (current, maintained version): **https://github.com/multica-ai/andrej-karpathy-skills**

> Note: the plugin originally lived at `forrestchang/andrej-karpathy-skills`. That repo now redirects to the Multica org above, which ships it as a full Claude Code plugin with a structured skill, Cursor support, and examples — not just a loose file.

## How to install on a default VPS

If you're running Claude Code on a fresh VPS (Ubuntu/Debian, default setup, Claude Code already installed), you have two options:

### Option 1 — Plugin marketplace (recommended, applies globally to all your projects)

Inside the Claude Code CLI, run:

```bash
/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills
```

That's it. The guidelines now apply automatically across every project on that VPS.

### Option 2 — Manual CLAUDE.md (per-project only)

If you'd rather scope it to a single project instead of installing it globally, drop the rules straight into that project's `CLAUDE.md`:

```bash
cd /path/to/your/project

# if CLAUDE.md doesn't exist yet:
curl -L https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md -o CLAUDE.md

# if CLAUDE.md already exists, append instead:
echo "" >> CLAUDE.md
curl -L https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md
```

Cursor users get the same behavior automatically — the repo ships a committed project rule at `.cursor/rules/karpathy-guidelines.mdc`, so just opening the project in Cursor picks it up.

## Bottom line

This isn't a magic fix for AI coding — it's a guardrail. It won't make Claude Code smarter, but it will make it more honest about what it doesn't know, and more disciplined about touching only what you asked it to touch. For a two-command install, that's a high-leverage trade.

---

*This article was AI-assisted and edited by Mervin. All facts were verified against primary sources before publishing.*
