Skip to content
PrepMint

Author

Rohan Surve

Rohan Surve is a Technical Product Manager in Bengaluru with 12 years in enterprise delivery and 0→1 product building. He works with Claude, Claude Code, Cursor and MCP daily, and built PrepMint after noticing how much of what he "knew" about these tools was half-remembered from documentation he'd skimmed once. Every question here is written from working with the tool and checked against the vendor's own docs.

15 published articles · How these are written and checked

How it works · 11 min read

Why the model can't count the letters in a word

Strawberry has two r's, your 100-word answer runs to 137, and the limerick does not rhyme. Those are not three mistakes. Text becomes tokens before the model sees it, and everything below the token — letters, characters, sounds — was discarded at the door.

  • How it works · 11 min read

    Why the agent stopped before it finished

    You asked for five things and got one, with a confident summary and no error. An agent loop ends when the model writes a message containing no tool call — a judgement nothing checks against your task. The five ways a run ends early, each fingerprint, and the phrasing that fixes it.

  • How it works · 11 min read

    Where you edit your prompt decides what it costs

    The session was fast for twenty turns, then you added one line to the top of a file and the next answer crawled. A prompt cache is keyed on an exact prefix, so cost and latency depend on where you changed something, not how much. The ordering rule that falls out of it.

  • How it works · 9 min read

    Where an instruction belongs: prompt, system prompt, or project instructions

    Every assistant offers the same five containers for an instruction, and the same sentence is a permanent rule in one and a single-turn suggestion in another. The placement rule across vendors: what survives a new conversation, what survives a context trim, what gets re-billed every turn, and what outranks what.

  • Choosing a model · 11 min read

    When to use a reasoning model — and the tasks where it makes things worse

    Every assistant now has a thinking dial, and almost nobody tells you which task deserves it. One test decides it: does this task have a step where being wrong in the middle makes the answer wrong? The shapes where deliberation pays, the shapes where it only buys latency, and the failure no setting can fix.

  • Limits and plans · 9 min read

    What actually uses up your Claude usage limits

    Anthropic publishes the plan tiers; it does not publish what a limit is spent on. The meter runs on tokens rather than messages, a long chat re-sends itself every turn, and attachments, project knowledge, tool results and thinking all land in the same budget. Mechanism first, numbers last.

  • How it works · 10 min read

    What Cursor actually looks at when you ask it something

    Indexing says synced, the file is open, and Cursor still answers as if your code does not exist. Follow one request end to end: what gets attached, what gets injected, what the agent decides to search for, what three ignore files remove, and what gets compressed away.

  • How it works · 9 min read

    Why the same prompt gives you a different answer

    You changed nothing and the answer changed anyway. A mental model of what actually varies between two runs of an identical prompt: sampling that never fully stops, a context window that grows every turn, a system prompt the vendor rewrites, memory you cannot see, and infrastructure that moves under a pinned model.

  • Troubleshooting · 10 min read

    Why ChatGPT and Claude didn't really read your file

    The upload succeeded and the answer is about the wrong thing. Both vendors document the formats they accept; neither documents what happens between the upload and the model. Eight causes, each with a distinct fingerprint, and three probes that tell you what the model actually saw.

  • Troubleshooting · 9 min read

    Your MCP server connects and the tools still do not run

    The server is green, the tool count is right, and the model answers without touching any of it. That is a selection problem, not a connection problem: ten causes with distinct fingerprints, from a six-word description to the thirtieth tool that pushed the right one out of reach.

  • How it works · 11 min read

    Why it confidently used an API that no longer exists

    The code ran, and it was wrong. When a model answers about a library you did not paste, it is answering from weights with a date on them — and nothing in the output distinguishes what it knows from what it reconstructed. The four fingerprints of stale parametric knowledge, and the habit that fixes most of them.

  • How it works · 11 min read

    It followed your example instead of your instruction

    You wrote the rule, then pasted an example under it to help — and the output matched the example. A demonstration is a stronger signal than a description, it shows everything about itself rather than the one property you meant, and nothing warns you when the two disagree.

  • How it works · 9 min read

    What a Claude Code subagent can and cannot see

    The docs specify how to define a subagent and never state what it inherits. A subagent starts on an empty context window, the delegation prompt is the only thing that crosses, and only its final message comes back — so it re-reads files you already read, and that is the feature working.

  • Troubleshooting · 8 min read

    Why Cursor is ignoring your rules file

    A rule that sits in .cursor/rules and does nothing fails silently, and Cursor publishes no way to see which rules were applied. Ten causes with distinct fingerprints: the type you get by leaving fields blank, the .md that is invisible, and the team rule that outranks you.

  • Troubleshooting · 9 min read

    Why your MCP server isn't showing up in Claude Code

    An MCP server that adds cleanly and then shows no tools has about ten possible causes, and each leaves a different fingerprint. A symptom-first triage guide: what the /mcp statuses actually mean, why scope cannot be changed in place, and the config error that makes Claude run your URL as a local process.