Goose: Persona and rules
This page is the last one in the Goose guide, and it covers a name, a tone, and standing rules. It shows the exact folder, screen, and file Goose uses for each of those.
Goose has no soul file, and it has no system prompt box on a settings
screen. The system prompt is a template in a prompt folder, and standing
rules live in a hints file named .goosehints.
What Goose calls it
Goose calls the system prompt a prompt template, and the main file is
system.md, which sets the role and the shape of replies.
Your edited copy lives in a prompts folder, while the original template
stays inside the app so an update does not erase a file you have not
customized.
Goose calls standing rules hints, and a global hints file applies to every chat you start. A local hints file applies only to one folder, and Goose adds those hints to the system prompt on each request. It loads the hints file only when the Developer extension is turned on.
Set a persona
These steps add a name and a plain tone, and they leave in place the lines Goose needs in order to use its tools.
- Copy the prompts folder before you change anything in it. On a Mac
or Linux, that folder is
~/.config/goose/prompts/, and on Windows it is%APPDATA%\Block\goose\config\prompts\. If the folder is not there yet, Goose is still on the built-in template, so make the copy after you save in the next step.
What you should see a copy of the prompts folder, or a note that no custom template exists yet.
- Open the sidebar, click Settings, then
Prompts, and click Edit next to
system.md. Add two or three short lines at the top for a name and a tone, and leave every{{ ... }}and{% ... %}template line in place, including{{ moim_system_prompt_block }}and theextensionsloop. Click Save when those new lines look right to you.
What you should see a Customized badge next to
system.md on the Prompts tab.
- Start a new chat and ask which name and tone Goose is using, and tell it not to change any file while it answers.
What you should see a reply in that new chat that uses the name and tone you wrote.
Set rules
- For rules in one folder, point the directory switcher at that
folder. This guide uses the working folder named
goose-tryout, so open Settings, click Chat, and scroll to Project Hints (.goosehints). Click Configure, type a few rules, click Save, and start a new chat so Goose reads the hints.
What you should see a .goosehints file in that folder,
and a new chat that can follow those rules.
- For rules on every chat, create a
.goosehintsfile in~/.config/goose/on a Mac or in%APPDATA%\Block\goose\config\on Windows. The hints page shows the Mac path, and Goose's source code loads the same.goosehintsfile from that Windowsconfigfolder.
What you should see a .goosehints file in
~/.config/goose/ on a Mac or
%APPDATA%\Block\goose\config\ on Windows, and a new chat
that follows those rules.
The lines below are a safe start for that file, because they ask Goose to be careful and they do not turn an approval off.
Use short, plain sentences.
Ask before you delete or move a file.
Stay inside the folder I named for this chat.
Keep the Developer extension turned on, because if it is off, Goose does not read the hints file.
One folder, and sub-agents
A local hints file wins when it conflicts with the global hints file.
You can also put a .goosehints file inside a subfolder, and
Goose loads that file when it starts working there.
Sub-agents use a separate template named
subagent_system.md, and you will find it on the same
Prompts tab. Add only a short tone there, and keep
every template variable already in that file. This guide could not
confirm a separate persona for the Telegram gateway. The gateway docs
describe a bot token and a pairing code, not a second persona.
What not to edit
Do not delete or break the {{ ... }} and
{% ... %} template lines inside system.md or
subagent_system.md. Goose uses them for turn context,
extension instructions, and sub-agent tool lists
({{max_turns}}, {{tool_count}}, and
{{available_tools}}), while .goosehints is
appended after system.md renders, and broken template
syntax stops the system prompt from building. Do not edit
permission_judge.md in order to change which actions need
approval. Your custom template stays in place when Goose updates, and a
newer version will not refresh it until you reset it.
How to undo
Copy the prompts folder and any .goosehints file before
you undo. Open Settings, click
Prompts, and click Edit on the
template you changed. Click Reset to Default, which
deletes your local copy of that template. You can also delete the file
yourself from the prompts folder. To undo hints, put the copied
.goosehints file back where it was.
What you should see the Customized badge gone from that template, and the hints file matching the copy you saved.
A reminder, not a lock
Hints and the system prompt.
- You gain: a name, a tone, and rules that you write once instead of pasting them into every new chat.
- You risk: a model can ignore those lines, and a page or a file it reads can try to override them.
- Makes sense when: Manual Approval stays on, the job stays in a folder you chose, and you treat the text as a reminder only. Approvals, folders, and a container are what actually limit the agent.
Sources
These notes were checked on 14 November 2026, using the Goose docs linked in this list.
- Customizing
prompt templates, for the Prompts tab,
system.md,subagent_system.md, the prompts folder paths, Customized, Reset to Default, and Jinja2 template syntax. - Default
system.md,subagent_system.md, andprompt_manager.rs, for the exact template blocks in both files and how Goose appends hints aftersystem.mdrenders. - Providing
hints, for
.goosehints,~/.config/goose/.goosehints, Project Hints, the Developer extension, and a local file winning over the global one. - Goose
load_hints.rsandpaths.rs, for loading global.goosehintsfrom%APPDATA%\Block\goose\config\.goosehintson Windows. - Telegram gateway, which describes a bot token and a pairing code, and does not describe a separate persona.
Next
Next: Persona and rules for every agent, which shows how to keep standing rules short and specific.