Modes & the prompt
Switch how the agent works with Ctrl+D, give it project rules in EMPRYO.md, and reuse instruction files you already wrote for Claude Code, Cursor and others.
Copy & share
On this page3 sections
You control how the agent behaves in two ways: the mode you pick for the task, and the instruction files in your project.
ModesLink to this section
A mode changes how the agent approaches a task. Press Ctrl+D to cycle through them (Shift+Tab in the input box cycles backwards), or type /mode <name>:
| Mode | What the agent does |
|---|---|
default | Investigates, then implements |
architect | Designs only: outlines and tradeoffs, no file edits |
plan | Researches, writes a plan, waits for your OK, then carries it out (see plan mode) |
socratic | Asks probing questions before doing anything |
challenge | Plays devil's advocate and questions your assumptions |
auto | Works on its own with as few interruptions as possible |
Each tab has its own mode, so you can plan in one tab and let another run in auto.
Project instructionsLink to this section
Put project rules in an EMPRYO.md file at your project root, for example "use pnpm", "tests live next to the code", or "never touch the generated folder". Empryo loads it into every conversation in that project. Rules that apply to every project go in ~/.empryo/EMPRYO.md. When you edit the project file, the next message uses the new rules, with no restart.
The global file is treated with more care, because every open tab shares it and a changed system prompt re-bills each tab's cached context. A change to ~/.empryo/EMPRYO.md is picked up by a tab once that tab's prompt cache has gone cold, and by every new tab at once. Background writers such as the SoulStack auto-update therefore never interrupt a warm conversation; your own edit lands when the tab next starts from a cold cache.
If your repository already has instruction files for other tools, you can turn those on too:
{
"instructionFiles": ["empryo", "claude", "cursorrules"]
}| File | Written for |
|---|---|
EMPRYO.md | Empryo (on by default) |
CLAUDE.md | Claude Code |
.cursorrules | Cursor |
.github/copilot-instructions.md | GitHub Copilot |
.clinerules | Cline |
.windsurfrules | Windsurf |
AGENTS.md | OpenAI Codex |
.aider.conf.yml | Aider |
AMPLIFY.md | Amp |
GEMINI.md, QWEN.md, AGENT.md, WARP.md, CLAUDE.local.md | Gemini CLI, Qwen Code, Amp, Warp, Claude Code |
.rules, .continuerules, .roorules, .augment-guidelines, .junie/guidelines.md, .trae/rules/project_rules.md, .goosehints | Zed, Continue, Roo, Augment, Junie, Trae, Goose |
In the terminal UI, /instructions lets you switch each file on or off.
By default, every enabled file is loaded for every model. To send a file only to certain models, use instructionRouting. You can target a model family, a provider, a model name pattern or one of your custom agents. For example, CLAUDE.md can go only to Claude models and AGENTS.md only to GPT models, while EMPRYO.md goes to both. See configuration → instruction files.
Tuned for each model familyLink to this section
Different model families respond best to differently worded instructions. Empryo adjusts for Claude, OpenAI and Gemini models automatically, including when you reach them through a gateway such as OpenRouter or LLM Gateway. There is nothing to configure.