Goose

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.

  1. 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.

  1. 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 the extensions loop. 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.

  1. 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

  1. 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.

  1. For rules on every chat, create a .goosehints file 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 .goosehints file from that Windows config folder.

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.

Sources

These notes were checked on 14 November 2026, using the Goose docs linked in this list.

Next

Next: Persona and rules for every agent, which shows how to keep standing rules short and specific.

Checked 14 November 2026 · prices, limits, and versions change