AI Guides › Workbench

Switch Codes: Turning Off ChatGPT's Flattery, Padding and Hedging

By Nigel Guy · 8 min read

You paste in a draft and ask ChatGPT to be honest. It opens by telling you the draft is strong, wraps two mild suggestions in three paragraphs of reassurance, and ends with "ultimately, it depends on your goals." You asked for honesty and got politeness. It feels like feedback. It mostly isn't.

"Just be honest" fails because ChatGPT already thinks it is being honest. The instruction doesn't say which behaviour to stop, so nothing changes. OpenAI has admitted this pull is real. In April 2025 it rolled back a GPT-4o update that had become "overly flattering or agreeable", and said it had leaned too heavily on short-term thumbs-up feedback. Its current Model Spec tells the model to act as "a firm sounding board", not "a sponge that doles out praise". That is the official target. Your prompts still decide how close you get to it on any given reply.

The rule: name the behaviour you want switched off, not the virtue you want switched on. Define each switch once, then trigger it with a short code.

The kit at a glance

Each code is a label you define once in a "legend" (below), then add to any prompt. They cost nothing. They are just text, so they work on every ChatGPT plan, including Free.

Code What it switches off Cost at time of writing Best for Catch
#BARE Compliments, warm-up openers, sign-off offers Free, typed text Any feedback request Can read as curt if you paste the output straight to a person
#LEAD Burying the answer under preamble Free Yes/no questions, decisions Forces a verdict even where "it depends" is genuinely true
#TRIM Restating your question, repeated summaries, filler Free Quick lookups, edits Can drop context a beginner needs
#ODDS Blanket disclaimers and vague hedging Free Factual claims, research The labels are the model's own estimate, not a measurement
#REDPEN Soft, padded critique Free Drafts, plans, pitches Can produce invented problems to fill the quota
#HOLD Caving the moment you push back Free Arguments, fact checks Won't fix a position that was wrong to begin with

Step 1: Paste the legend once

Codes only work if ChatGPT knows what they mean. Start a chat with this legend, or save it permanently (see "Making it stick" below). It is written to describe behaviour, not attitude:

Legend for this conversation. When I add a code to a message, apply it to your reply.

#BARE  - No praise of me or my work. No opening line about the question. No closing offer of further help. Start with content.
#LEAD  - First sentence is your answer or verdict. Reasoning comes after it.
#TRIM  - Do not restate my question. Do not summarise what you just said. Stop when the useful content ends.
#ODDS  - Tag each factual claim as [solid], [likely] or [unsure]. No general disclaimers anywhere else.
#REDPEN - List the weakest points first, most serious at the top. Only list a problem if you can say what it would cost me. If you find fewer than three real ones, say so rather than padding.
#HOLD  - If I disagree, only change your answer if I have given a new fact or argument. If I have not, say what would change your mind.

Codes stack. If two codes conflict, tell me which one you dropped and why.

That last line turns a silent compromise into one you can see.

Step 2: Use each code on purpose

#BARE goes on anything where you want an assessment rather than encouragement:

#BARE Here is my cover letter for a junior analyst role. What would make a hiring manager stop reading?

#LEAD is for questions that have an answer. The test is whether you'd accept a one-word reply:

#LEAD Should I store client invoices in a shared Google Sheet or in my accounting software? Two-person business, about 40 invoices a month.

#TRIM is the one to reach for when replies feel long but you can't say why. The usual culprit is the model telling you what it is about to say, saying it, then telling you what it said. Note that OpenAI's own spec already asks the model to avoid "uninformative or redundant text". #TRIM just holds it to that.

#ODDS replaces fog with labels. ChatGPT is designed to hedge in plain words like "I think" or "it might be", and not to give percentages unless you ask. That is fine in conversation. It is useless when you need to know which sentence to check first:

#ODDS #LEAD What is the VAT registration threshold in the UK, and when did it last change?

You then verify the [likely] and [unsure] lines before you rely on them. For anything legal, tax or financial, check the [solid] ones too.

#REDPEN is the main fix for flattery, and also the riskiest code (see the trap below). The clause "if you find fewer than three real ones, say so" is the safety valve.

#HOLD stops the drift where you say "are you sure?" and the answer flips. A good test is to push back with no new information:

#HOLD I don't think that's right.

If the reply asks what you know that it doesn't, the code is working. If it apologises and reverses, re-paste the legend. Long chats can lose track of early instructions.

Stacking codes

Stack codes when each one covers a different part of the reply. Don't stack them all out of habit.

Task Stack Why this combination
Reviewing a draft #BARE #REDPEN Removes the cushioning and orders the problems
Quick factual check #LEAD #ODDS Answer first, with a confidence label on it
Making a decision #LEAD #REDPEN #HOLD Verdict, the case against it, and no folding when you argue
Editing someone else's text #TRIM only Leave the tone codes off when the output goes to another person

Avoid pairing #TRIM with #ODDS on anything complicated. Trimming squeezes out the reasoning that tells you why a claim is [likely] and not [solid].

The trap: honesty theatre

Tell a model to stop flattering you and it can swing the other way. It finds faults because you asked for faults, and its tone sounds harsh enough to feel rigorous. Call this honesty theatre. It is as useless as the flattery, and harder to spot because it feels like the real thing.

Three checks:

Making it stick

Pasting a legend every time gets old. ChatGPT gives you three places to store it, and they interact in ways that trip people up:

Where Path (web, at time of writing) Scope Watch out for
Custom instructions Profile icon, then Personalization, then the Custom Instructions field (with Enable customization on) All chats, including existing ones Free and Go plans cap this at 1,500 characters. Plus, Pro, Business, Enterprise and Education allow 5,000. The legend above fits comfortably in either
Project instructions Inside a project's own instructions That project only These override your account-wide custom instructions inside the project, so a project can quietly turn your codes off
Personality and Characteristics Personalization, then Base style and tone, and Characteristics All chats A complement to codes, not a replacement (see below)

Two settings are worth pairing with the codes. Under Base style and tone, the Efficient personality ("concise and plain") and Candid ("direct and encouraging") shift the default in the same direction as your codes. Under Characteristics, setting Warmth and Enthusiasm to "less" removes the emotional tone without, OpenAI says, shortening the answer. OpenAI's help centre also notes that a personality doesn't override your instructions for things like emails or code. Saved memories that conflict with a personality can weaken it too. If ChatGPT keeps ignoring your codes, check Settings > Personalization > Memory for an old preference saying the opposite.

What to skip

Guardrails

Sources

All 751 AI guides · JulieMango plans from £17/mo