Product 15 min read

Your AI's Custom Instructions Belong in a File You Own

MMNMNOTE
aicustom-instructionssystem-promptchatgptclaudegeminiplain-textownershipagents-md

The instructions that shape every answer your AI gives ("answer concisely," "I'm a nurse," "skip the preamble") live inside a vendor settings box. You cannot version it, diff it, or carry it to the next tool. The fix is older than AI: write your custom instructions as a plain-text file you own, then paste them wherever you work.

That box is small and singular. ChatGPT applies one set of custom instructions "immediately to all chats," with longer-form fields capped at "a 1500 character limit."1 One configuration shapes thousands of conversations, and it is retyped from memory the day you switch tools. Coding agents already solved this: their config lives in a versioned file in the repo. This post extends that discipline from the coding agent to the chat assistant.

Where do your AI custom instructions actually live?

Your custom instructions live in the vendor's interface, in the vendor's schema — not in a file you author. ChatGPT, Claude, and Gemini each give you a configuration surface, and each keeps the result inside its own app. You can usually export the text, but the canonical copy is theirs. When you move tools, you retype.

OpenAI's own help page is explicit about how contained the ChatGPT box is. Custom instructions are "available on all plans on Web, Desktop, iOS, and Android,"2 which means the lock-in is as universal as the feature. The text fields carry a 1500-character limit.1 And there is no programmatic hook: "There will be no API for custom instructions."3 You can read the box; you cannot script it.

Why is a settings box worse than a file?

A settings box gives you configuration without ownership. You can edit it, but you cannot keep a version history, run a diff against last month's version, grep it, or copy it into the next app in one move. A plain-text file gives you all four. The instructions stop being a vendor feature and become an artifact you control.

Steph Ango, Obsidian's CEO, named the underlying principle. "File over app is a philosophy: if you want to create digital artifacts that last, they must be files you can control, in formats that are easy to retrieve and read."4 A note holding your AI instructions is exactly such an artifact. As Ango puts it, "Apps are ephemeral, but your files have a chance to last."5 Your assistant of choice in 2028 is unknown; your instructions file is yours regardless.

Haven't coding agents already proven this works?

Yes, and that precedent is the whole argument. AI coding agents read their context from a plain-text file in the repo, not a settings panel. The convention, AGENTS.md, is "used by over 60k open-source projects" and is "now stewarded by the Agentic AI Foundation under the Linux Foundation."6 Config-as-a-file is no longer a hack. It is a governed open standard.

The framing on the standard's own site is the cleanest statement of the move. "Think of AGENTS.md as a README for agents: a dedicated, predictable place to provide the context and instructions to help AI coding agents work on your project."7 A README for agents is versioned, diffable, and reviewable by default. The chat-assistant custom-instructions box is none of those things — yet it shapes far more of your daily answers than any repo file does.

How do ChatGPT, Claude, Gemini, and AGENTS.md compare?

Every chat vendor lets you configure the assistant, and Gemini even lets you save multiple personas. None of them stores that configuration as a file you author. The gap is ownership and portability, not whether settings exist. The table below reads each vendor's own documentation honestly: configurable, yes; portable as a file you own, no.

ToolWhat the config box isMultiple saved personas?A file you author?
ChatGPT (OpenAI)"Custom Instructions" — one set, "applied immediately to all chats"; 1500-char fields; "no API for custom instructions"13No — one global setNo — UI-held; exportable, not authored
Claude (Anthropic)A vendor system prompt (published by Anthropic) plus your Projects / instructions layer on top8Partial — via ProjectsNo — your layer still lives in the app
Gemini (Google)"Gems" — "Name your Gem and write instructions for it to follow" (Brainstormer, Coding partner, Writing editor)9Yes — multiple GemsNo — each Gem lives in Google's UI
Coding agentsA plain-text file in the repo — "a README for agents"; "over 60k open-source projects"; Linux-Foundation-stewarded67Yes — per-repo, versionedYes — the precedent this post extends

The honest read: the villain is not any vendor. Gemini's Gems are a genuinely good feature. The problem is that your configuration lives in their box, in their schema, retypable when you move. The move is to author it once as a file you keep.

What does an AI instructions file look like?

It is a single Markdown note holding the persona, defaults, and constraints you would otherwise retype into a settings box. You keep it in plain text, version it however you version anything, and paste or import the relevant section into each tool. Below is a starter you can copy, adapt, and own — annotated so each line earns its place.

# AI Custom Instructions — <your name>, updated 2026-06-18

## Who I am (context the model should assume)
- Role: <e.g. registered nurse on a cardiac ward>
- Working in: <domains you ask about most — clinical notes, rota planning>
- Reading level / audience: <e.g. write for a smart non-specialist>

## How I want answers (defaults that apply to every chat)
- Length: lead with the answer in 2–3 sentences, then detail only if I ask.
- Tone: plain, direct, no preamble, no "as an AI" hedging.
- Format: Markdown; tables for comparisons; code in fenced blocks.
- Uncertainty: when unsure, say so and state what would resolve it.

## Hard constraints (the box is too small for these — the file is not)
- Never invent a citation. If you cannot source a claim, label it unverified.
- For medical/legal/financial topics, flag that I should confirm with a professional.
- Don't restate my question back to me before answering.

## Per-context overrides (switch these in by pasting the block you need)
- Writing mode: terse, active voice, British spelling, no em-dash bans.
- Coding mode: TypeScript, no comments unless asked, show the diff only.

Three deliberate choices make this file beat the box. First, the per-context overrides section solves what a single global box cannot: ChatGPT applies one set "to all chats,"1 so a global instruction good for code is wrong for prose — a file lets you keep both and paste the one you need. Second, the hard constraints block can run past 1500 characters without truncation, because a file has no field cap.1 Third, the dated header turns the file into a changelog: you can see what you told the model last month and why you changed it.

The two honest limits of this approach

A file makes your configuration portable and ownable. It does not give you control over the model's own behavior, and it does not sync itself into every vendor's box. Both limits are real, and naming them is the point — this is a durability and ownership move, not an automation one.

The vendor keeps its own hidden system prompt on top of yours. Anthropic is unusually transparent about this: its apps "use a system prompt to provide up-to-date information, such as the current date," and that "prompt is periodically updated to improve Claude's responses."8 You control your layer; the vendor controls theirs. Your file governs what you can govern, and no file changes that. Simon Willison, who reads these published prompts closely, calls them "a sort of unofficial manual for how best to use these tools"10 — useful to study, not yours to edit.

There is no magic sync. Because there is "no API for custom instructions,"3 moving your file into ChatGPT's box is a manual paste today, not an automated push. What you gain is not automation. It is a single authored source, a version history, and an export-by-default copy — instead of a box you refill from memory each time you switch.

Frequently asked questions

Where should I keep my AI custom instructions so they are portable?

Keep them in a single plain-text or Markdown file you author and store on your own device — not only inside ChatGPT, Claude, or Gemini settings. The vendor box is the destination you paste into; the file is the canonical copy you version, diff, and carry between tools. One source, many paste targets.

Is there a character limit for ChatGPT custom instructions?

Yes. OpenAI's help page states "the longer form text fields have a 1500 character limit."1 That cap is one reason to keep the full version in a file: your authored note can hold detailed constraints, examples, and per-context overrides, and you paste in only the slice that fits the box when you configure a given tool.

Are my custom instructions included in my ChatGPT data export?

Yes — OpenAI confirms custom instructions appear in your data export.2 But an export is a recovery action you trigger after the fact. A file you author is the canonical copy by default: written once, versioned, greppable, and already in your hands, rather than retrieved from a one-off vendor dump.

Can a file control the AI's underlying system prompt?

No. Your file governs your custom-instructions layer only. Vendors inject their own system prompt on top — Anthropic notes its apps add one that is "periodically updated."8 You control your configuration and its portability; you do not control the model's base behavior. The file is for owning your layer, not theirs.

Isn't this the same as a custom GPT or a Gemini Gem?

No. Custom GPTs and Gems are vendor-hosted configurations that live in that vendor's interface. The file approach inverts the dependency: you author and own the instructions, then paste or import them into a GPT, a Gem, or a plain chat. The Gem is one place your file can land — not the home of your config.

Do I need a special app to keep an instructions file?

No. Any tool that writes plain text works, because the value is in the format, not the app — that is the entire "file over app" point.4 A local-first Markdown note keeps the file on your own device, in an open format you can read without the editor that wrote it, and carry to any AI tool without re-keying.


This builds on the coding-agent convention — AGENTS.md as a README for agents7 — and Steph Ango's file-over-app principle,4 extended from the repo to the chat box. The same move powers a Markdown advisory board, an AI skill folder, and a plain-text prompt library — each is a versioned CLAUDE.md-style file you own rather than a setting you rent. A note like that lives well in a tool built around plain Markdown you keep on your own device, such as mnmnote.com.

The settings box is borrowed. The file is yours.

Footnotes

  1. "Custom Instructions for ChatGPT," OpenAI Help Center, https://help.openai.com/en/articles/8096356-custom-instructions-for-chatgpt (updated 2026-05-21). "Your custom instructions are applied immediately to all chats." "The longer form text fields have a 1500 character limit." Accessed 2026-06-18. 2 3 4 5 6

  2. "Custom Instructions for ChatGPT," OpenAI Help Center, https://help.openai.com/en/articles/8096356-custom-instructions-for-chatgpt. "Custom instructions are available on all plans on Web, Desktop, iOS, and Android"; custom instructions are included in your ChatGPT data export. Accessed 2026-06-18. 2

  3. "Custom Instructions for ChatGPT," OpenAI Help Center, FAQ, https://help.openai.com/en/articles/8096356-custom-instructions-for-chatgpt. "There will be no API for custom instructions as in the Chat Completions API system messages should be used for similar effect." Accessed 2026-06-18. 2 3

  4. Steph Ango, "File over app," https://stephango.com/file-over-app. "File over app is a philosophy: if you want to create digital artifacts that last, they must be files you can control, in formats that are easy to retrieve and read." Accessed 2026-06-18. 2 3

  5. Steph Ango, "File over app," https://stephango.com/file-over-app. "Apps are ephemeral, but your files have a chance to last." Accessed 2026-06-18.

  6. "AGENTS.md," https://agents.md/. "used by over 60k open-source projects"; "now stewarded by the Agentic AI Foundation under the Linux Foundation." Accessed 2026-06-18. 2

  7. "AGENTS.md," https://agents.md/. "Think of AGENTS.md as a README for agents: a dedicated, predictable place to provide the context and instructions to help AI coding agents work on your project." Accessed 2026-06-18. 2 3

  8. "System Prompts," Anthropic, https://platform.claude.com/docs/en/release-notes/system-prompts. "Claude's web interface (claude.ai) and mobile apps use a system prompt to provide up-to-date information, such as the current date, to Claude at the start of every conversation. The system prompt also encourages certain behaviors, such as always providing code snippets in Markdown. This prompt is periodically updated to improve Claude's responses. These system prompt updates do not apply to the Claude API." Accessed 2026-06-18. 2 3

  9. "Create and use Gems," Google Gemini Help, https://support.google.com/gemini/answer/15235603. "Name your Gem and write instructions for it to follow"; premade Gems include Brainstormer, Coding partner, and Writing editor. Accessed 2026-06-18.

  10. Simon Willison, "Highlights from the Claude 4 system prompt," simonwillison.net, 2025-05-25, https://simonwillison.net/2025/May/25/claude-4-system-prompt/. "I enjoyed digging through the prompts, since they act as a sort of unofficial manual for how best to use these tools." Accessed 2026-06-18.