Skip to content

Profiles

Save a whole way of working as a profile: model, mode, instructions, tools, skills and model routing. Pick it for a tab in one click, turn it off the same way.

Tools6 minutes to read
Copy & share
On this page6 sections

A profile is a ready-made setup for a tab. Pick one and the tab takes on its model, its mode, its instructions, the tools it may use, the skills it loads and which models do the helper jobs. Turn it off and the tab goes back to how it was.

QA

Tests changes through the real app. Runs in auto mode, loads a testing skill, may not edit code.

Writer

Docs, release notes, posts. Loads writing skills, keeps the shell away, answers on a strong writing model.

Reviewer

Reads diffs in architect mode, which can't change files. High effort, a second model reviews.

Researcher

Read-only digging: code search, the web and memory. Cheap fast models do the helper jobs.

Pair programmer

Your everyday driver. A strong editing model, clean-up and checks after every edit.

Your own

Set up a tab the way you like it, then save it as a profile.

What a profile holdsLink to this section

PartWhat it does when you pick the profile
InstructionsThe text under the header. The tab follows it for the whole conversation
modelThe model that answers in this tab, as provider/model
forgeModeThe tab's mode: architect, plan, auto and the rest. permissions works too
effortReasoning effort for that model
toolsOnly these tools are allowed. Leave it out for every tool
disallowedToolsTools the profile may never call
skillsSkills loaded into this tab, and removed again when you turn the profile off
routingWhich model does each helper job (list below)
featuresdesloppify (clean up after edits), verifyEdits (check after edits), marionette (map the code first)

tools and disallowedTools also cover the tools Empryo keeps off the list until the agent asks for them. A blocked tool stays blocked when the agent calls it through run_tool or code_script, and an allowed one, such as list_dir, still works that way.

ExamplesLink to this section

markdown
---
name: qa
description: Tests changes through the real app and reports what breaks.
model: anthropic/claude-sonnet-4-5
forgeMode: auto
effort: high
disallowedTools: [edit_file, ast_edit, multi_edit]
skills: [immune-system]
routing:
  research: anthropic/claude-haiku-4-5
  verify: google/gemini-2.5-flash
features:
  verifyEdits: true
---

Reproduce every bug before you report it.
Run the app the way a user would.

Save a file like these in .empryo/agents/ for this project, or in ~/.empryo/agents/ for every project.

Create oneLink to this section

  1. Ask Empryo

    Describe it in chat: "make me a qa profile on Sonnet that loads the immune-system skill, can't edit files, and uses Haiku for research, then use it". The profiles tool writes the file and switches the tab when its reply ends.

  2. Or use the editor

    In the desktop app, open the profile menu next to the composer and choose New profile. The editor has three tabs: Basics (name, instructions, model, mode, effort), Tools & skills, and Routing. Edit in the Agents library opens the same editor for an existing profile.

  3. Or save the tab you are in

    Set the model, mode, routing and skills by hand, then choose Save this tab as a profile, or type /profile save qa in the terminal. Add --global to keep it for every project.

Use itLink to this section

  1. Pick it

    Type /profile and pick from the list. Typing part of the name is enough: /profile qa or /profile rev. /profiles opens the full picker, and the desktop composer has a profile button.

  2. Work

    The tab shows the profile's name. Anything you change afterwards, like another model, wins over the profile.

  3. Turn it off

    Click the X next to its name, pick it again, or type /profile off. The model, routing and skills go back to what the tab had. The mode stays where it is.

Start with a profileLink to this section

Launch the terminal app on a profile with empryo --profile qa. The first tab and every new tab you open in that window start with it. A name that does not exist stops the launch and lists the profiles you have.

To use one profile everywhere, make it the default. Every new tab then starts with it, in the terminal, the desktop app and headless runs, on every project:

WhereHow
Terminal/profile default qa, or /profile default and pick from the list
DesktopTurn the profile on, open the profile button and choose Start new tabs with qa
Ask Empryo"make qa my default profile"
SettingsdefaultProfile in ~/.empryo/config.json

/profile default off (or Start new tabs plain on desktop) goes back to the plain agent. Tabs that are already open keep their profile, and a resumed session keeps the profile it was saved with. empryo --no-profile starts one launch plain even when a default is set.

Headless runs take the same flags: empryo --headless --profile qa "check the login flow", or --no-profile to skip the default. --agent still works as another name for --profile.

A repository's own config can set defaultProfile. A profile can change the permission mode, so check it before you open a repository you did not write.

Routing jobsLink to this section

routing sends each kind of helper work to its own model, and each job can use a different provider.

JobWhat it covers
researchHelper agents that read and search your code
editingHelper agents that edit files
exploreThe single explore agent
web-searchWeb search
cleanupThe clean-up pass after edits
verifyThe check after edits
review/review
goal-reviewThe reviewer in the goal loop
summariesCompacting a long conversation
marionetteThe code map built before an answer

Other router jobs (the advisor, the council, workflows, routines, tab names and Genome summaries) take their model from your global or project task router and are not part of a profile. When one of them has no model set there, it borrows from the profile: the council uses its research model and workflow judges use its review model.

The task router slot names (spark, ember, compact and so on) work too.

Where profiles live and which one wins

Profiles are agent files, so Empryo reads them from the same folders as agents, including .claude/agents/. When two files use the same name, the project folder wins over the global one.

Profiles and custom agents

Every custom agent can run a tab, and a profile is a custom agent with tab settings added. Empryo can still hand a profile to a helper agent as a specialist; the tab settings only apply when a tab runs it.

Read-only modes

A profile can put a tab in architect or another read-only mode. The profiles tool still works there, so you can ask Empryo to switch profiles without leaving the mode by hand.