Back to Blog
·8 min read·CastMyAgent

Why does ChatGPT, Claude or Gemini ignore my custom instructions?

Common reasons ChatGPT, Claude, Gemini and Cursor seem to ignore your custom instructions, with fixes from the official docs and a worked example using a free walk-on persona.

custom instructionsChatGPTClaudeGeminiCursor

Short answer: in most cases the instructions are not being loaded where you think they are, or something more specific is overriding them. Common causes: the instructions were cut off by a character limit, you are in a chat mode that skips them, a Project or Gem has its own instructions that take priority, or (in Cursor) the rules live in a legacy file or are set to apply only some of the time. Even when instructions do load, they guide the model rather than enforce behavior, so short, specific, non-conflicting instructions are followed more reliably than long or vague ones. The fixes below are drawn from each vendor's official documentation.

People report this problem with every major assistant: preferences that hold for a few messages and then fade in a long chat, personal context that a model appears to skip, and editor rules that stop applying after an update. The sections below go through the documented causes for each product.

ChatGPT

1. Your instructions were cut off by the character limit. According to OpenAI, Free and Go users can save up to 1,500 characters in custom instructions, while Plus, Pro, Business, Enterprise and Education users can save up to 5,000 characters (OpenAI Help Center: ChatGPT Custom Instructions). Fix: put the most important rules first and cut anything ChatGPT does not need in every chat.

2. You are in a Temporary Chat that is not personalized. Temporary chats are not personalized by default, and a non-personalized temporary chat does not use memory, custom instructions or plugins. You can choose Personalized when you start a temporary chat, but you cannot change it after the conversation begins (OpenAI Help Center: Temporary chat in ChatGPT; ChatGPT release notes, August 27, 2026). Fix: start a new temporary chat and select Personalized before your first message, or use a regular chat.

3. Customization is switched off. Custom instructions only apply when Enable customization is on (Settings, then Personalization on web and desktop; Settings, then Customize ChatGPT on mobile) (OpenAI Help Center).

4. A Project is overriding them. Project instructions only apply inside that project and override your global custom instructions (OpenAI Help Center: Projects in ChatGPT). Fix: if a rule matters inside a project, put it in that project's instructions too.

Claude

1. The instructions are in the wrong layer. Claude has profile instructions that apply account-wide and project instructions that apply only to chats inside a given project (Claude Help Center: Understanding Claude's personalization features). If you set a rule in one project, it will not carry into a chat outside it. Fix: put rules you always want in profile instructions, and task-specific rules in project instructions.

2. You expected a chat to remember another chat in the same project. Anthropic notes that context is not shared across chats within a project unless the information is added to the project knowledge base (Claude Help Center: How can I create and manage projects?). Fix: move anything that should persist into project instructions or project knowledge.

3. Claude Code is not following CLAUDE.md. Anthropic's docs say CLAUDE.md is delivered as a user message after the system prompt, that Claude treats it as context rather than enforced configuration, and that there is no guarantee of strict compliance, especially for vague or conflicting instructions. They add that more specific and concise instructions are followed more consistently, and suggest running /context to confirm the file loaded (Claude Code docs: CLAUDE.md). For something that must happen every time, the same page points to hooks.

Gemini

1. The instructions live in a Gem, and you are not chatting with that Gem. Instructions you write for a Gem shape that Gem's responses. Open the Gem itself from the Gems list rather than a regular chat (Gemini Apps Help: Use Gems).

2. You are using Gemini Live. Google states that Gems cannot currently be used with Gemini Live (Gemini Apps Help: Use Gems).

3. Gems are changing to skills. Starting in November 2026, Gems on personal Google accounts will transition to skills, with automatic migration (Gemini Apps Help: Use Gems). If a Gem looks different or is missing, check your Skills page.

4. The instructions are vague. Google recommends that Gem instructions cover persona, task, context and format, and suggests testing in the preview panel before saving (Gemini Apps Help: Tips for creating custom Gems).

Cursor

1. Your rules are in .cursorrules. Cursor's help center says the .cursorrules file in your project root is legacy and will be deprecated. Project rules now live in .cursor/rules/ as .mdc files. To migrate, create a new rule from the command palette ("New Cursor Rule"), paste your old content, set the type to Always Apply to match the old behavior, and delete .cursorrules (Cursor Help: Rules; Cursor Docs: Rules).

2. The rule type means it only applies sometimes. Rules can be Always Apply, Apply Intelligently (the agent decides when it is relevant), Apply to Specific Files (glob match), or Apply Manually (only when you @mention it) (Cursor Docs: Rules). Fix: use Always Apply for rules that must be in every chat.

3. A higher-priority rule conflicts. When rules conflict, precedence is Team Rules, then Project Rules, then User Rules (Cursor Help: Rules).

Worked example: a walk-on that fits the limits

A ready-made persona pack avoids two of the causes above: it is written as a structured, specific prompt, and it comes with a separate file for each tool so you paste the right thing in the right place. The example here is Otis, a free Senior Code Reviewer walk-on from CastMyAgent. His character brief defines a fixed review order (correctness, security, edge cases, then style), a reason attached to every flag, and a sign-off of "Ship it, or tell me why not."

The walk-on zip includes persona.json, system-prompt.md, README.md, and quickstart files for ChatGPT (quickstart/gpt/instructions.md), Gemini (quickstart/gemini/system-instructions.md) and Claude Code (quickstart/claude-code/CLAUDE.md). Some packs also include reference notes and an audio clip. Those are reference material that enriches the written persona. The model does not speak in that voice. The persona answers in text. These text files are free and MIT licensed. Headshots and audio are not covered by that license (CastMyAgent terms).

How to place Otis so the instructions actually load:

  • ChatGPT: paste quickstart/gpt/instructions.md into a Project's instructions (Project settings). Because project instructions override global custom instructions, Otis stays in that project and your other chats are unaffected. If you use custom instructions instead, check the text fits your plan's character limit.
  • Claude: create a Project, click Set project instructions, and paste system-prompt.md. Start each review chat inside that project.
  • Claude Code: put quickstart/claude-code/CLAUDE.md in the repository root, then run /context to confirm it loaded.
  • Gemini: create a Gem (or skill) and paste quickstart/gemini/system-instructions.md into its instructions. Chat with the Gem directly, not in a regular chat.
  • Cursor: create a project rule in .cursor/rules/ (for example otis.mdc), paste system-prompt.md, and set the type to Always Apply if you want it in every chat, or Apply Manually to call it with @otis when you want a review.

Test with a small diff. If Otis reviews in his stated order and ends with his sign-off, the instructions are loading.

FAQ

Why does ChatGPT ignore my custom instructions? Check that customization is on, that your text fits the character limit for your plan (1,500 characters on Free and Go, 5,000 on Plus, Pro, Business, Enterprise and Education), that you are not in an unpersonalized Temporary Chat, and that a Project's instructions are not overriding them.

Do Temporary Chats use custom instructions? Only if you choose Personalized when you start the temporary chat. By default, temporary chats do not use memory, custom instructions or plugins.

Why does Claude follow my instructions in one chat but not another? Project instructions only apply inside that project, and chats in a project do not share context unless the information is in project knowledge. Put lasting rules in profile instructions or project instructions.

Why isn't Cursor using my .cursorrules file? .cursorrules is legacy and will be deprecated. Move the content into a rule in .cursor/rules/ and set it to Always Apply to match the old behavior.

Can instructions guarantee a behavior? No. Anthropic's docs describe CLAUDE.md as context rather than enforced configuration, with no guarantee of strict compliance. Specific, concise, non-conflicting instructions are followed more consistently.

Is there a free, ready-made set of instructions I can test with? Yes. CastMyAgent's walk-ons are free persona packs for Claude, ChatGPT and Gemini, with quickstart files for each. The text files are MIT licensed.

Browse the free walk-ons in the CastMyAgent roster.

Related reading: How to give ChatGPT, Claude or Gemini a consistent persona

More from the blog