The MaeVae guide
- Nineteen chapters, from the first install to everyday work with several agents.
- One section per task, naming every control as the app writes it.
- Every picture is a rendering of the app with made-up examples, not a screenshot.
- A part marked “at launch” describes the Microsoft Store version, which launches on 5 November 2026.
MaeVae, one task at a time: what to install first, your first profile, signing in, several agents side by side, the attention queue, Restricted mode, Isolation, the HUD, other models, backups, agent updates, Windows Terminal tabs and what to do before you uninstall.
Each task says what must be true before you start, gives the steps in order, and ends on what you should see, with a note or a limit where there is one. Where a task has clicks in MaeVae, its rendering shows them: where motion is allowed, it plays once as you reach it, with Play and Stop under it. On a wide screen the contents stay beside the text and mark the part you are reading; on a phone they fold into Contents, which the link under the title reaches, and every chapter ends with a link back to them.
Contents
Skip the contentsWhat you need
Make sure your computer can run MaeVae, and install at least one agent’s command-line tool, before the first start.
MaeVae is the console; the agents are separate programs from their own vendors. MaeVae drives the agent command-line tools you already have and bundles none, and it holds no agent account of its own: each profile uses your own account with the agent’s vendor. So you need three things: 64-bit Windows 11 or 10, Microsoft Edge WebView2, and one agent’s tool that Windows can find.
Check Windows and Microsoft Edge WebView2
MaeVae is made for Windows 11, 64-bit. Windows 10, 64-bit, version 2004 or later, also works. MaeVae’s window is drawn by Microsoft Edge WebView2, the part of Windows that shows web content inside an app, and it is built into Windows 11.
- Open Windows Settings › System › About.
- Under Device specifications, System type should read 64-bit operating system.
- Under Windows specifications, Edition should name Windows 11 or Windows 10. On Windows 10, Version should read 2004 or later (20H2, 21H1, 21H2 and 22H2 are all later).
- On Windows 11, WebView2 needs nothing more. On Windows 10, open Settings › Apps and look in the list of installed apps for Microsoft Edge WebView2 Runtime; if it is not there, install the Microsoft Edge WebView2 Runtime from Microsoft before you start MaeVae.
At launch, the Microsoft Store version checks for the Runtime as it starts. If it is missing, MaeVae shows one box that says so and gives Microsoft’s WebView2 page, then closes; install the Runtime from there and start MaeVae again.
The rail is empty: it says No profiles yet and offers + Add profile, with Quick settings at its foot. The top bar reads 0 open. The stage says Click a profile to open a session, and under it, Each pane is a real terminal pinned to its own account and project. Where motion is allowed, a short rendered scene plays once and ends on this frame: the window starts bare but for the name MaeVae, then the rail's No profiles yet line, the top bar and the stage's two lines arrive in turn.
What you see: each line matches, and on Windows 10 the runtime is in the list of apps. These are Windows’ own pages, so they are not rendered here; the rendering shows what follows once all is right: MaeVae’s first window, its rail still empty.
Install an agent’s tool and check it
Before you start: a terminal, PowerShell or Command Prompt. The npm lines need npm, which comes with Node.js; aider’s line needs Python; Grok’s line is a PowerShell command.
- Choose an agent and run its install line in the terminal. These are the lines MaeVae itself carries for each agent; the vendor’s own page is the place to check them.
- Claude Code
npm install -g @anthropic-ai/claude-codeclaude --version- Codex CLI
npm install -g @openai/codexcodex --version- Gemini CLI
npm install -g @google/gemini-cligemini --version- Qwen Code
npm install -g @qwen-code/qwen-code@latestqwen --version- aider
python -m pip install aider-install && aider-installaider --version- Grok CLI
irm https://x.ai/cli/install.ps1 | iexgrok --version
- Close the terminal, open a new one, and run the tool’s name with
--version, as in the third column. A version number means Windows finds the tool on your PATH. - Start MaeVae, or quit it from the tray and start it again if it was running: a tool installed while MaeVae runs may not be seen until MaeVae starts again.
Grok CLI here is xAI’s Grok. Groq, the inference cloud, is not an agent: a Qwen Code or aider profile reaches it through its Endpoint field, and a Codex CLI profile through its Model endpoint box (chapter 12). A profile can also be a plain shell, with no agent at all.
The Name box holds Side project and the Agent list shows Codex CLI (not installed). Under it MaeVae says Codex CLI isn't on PATH. and offers the button Copy install command; the note says to pick the CLI agent this profile runs and give it a short name. The panel ends with Advanced (all fields) and Next. Where motion is allowed, a short rendered scene plays once and ends on this frame: the Agent list changes from Claude Code to Codex CLI (not installed), the line about the PATH and the button rise into place, and Copy install command is pressed.
What you see: in New profile, an agent whose tool MaeVae cannot find on your PATH shows “(not installed)” after its name, with the line “Codex CLI isn’t on PATH.” and a Copy install command button, which copies that agent’s install line and opens the vendor’s own page. Once you have installed the tool and started MaeVae again, the mark is gone.
Limit. MaeVae cannot start a pane for an agent whose tool is missing; in the rail, that agent’s heading says “not installed”. Install the tool, check it with --version, then start MaeVae again.
Install from the Microsoft Store
Install MaeVae from the Microsoft Store, start it, and leave its updates to the Store.
MaeVae launches on 5 November 2026 on the Microsoft Store first. From launch, the Store installs it and keeps it up to date: there is no setup file to download, and nothing else to install for MaeVae itself apart from the WebView2 Runtime on a Windows 10 computer that lacks it (chapter 1). The agents’ tools are the separate step of chapter 1.
Open MaeVae’s page in the Microsoft Store and install it
- Use the button below. It opens MaeVae’s listing in the Microsoft Store.
- On MaeVae’s page, choose the Store’s install button.
- Wait until the Store says MaeVae is installed. There is nothing to choose during the install and no second program to run.
- To start MaeVae at once, use the Store’s own button to open it. Later, start it from the Start menu (the next task).
The Store listing is not public yet; the Store button already points to it.
The rail says No profiles yet and offers + Add profile, with Quick settings at its foot; the top bar reads 0 open; the stage says Click a profile to open a session. Where motion is allowed, a short rendered scene plays once and ends on this frame: the desktop starts without the window, MaeVae's window opens, its icon appears in the tray, and a frame marks the icon for a moment.
What you see: once the listing is public, MaeVae’s page in the Store; after the install, the Store’s own button to open MaeVae, and MaeVae in the Start menu. The Store is Microsoft’s own app and is not rendered here; the rendering shows what follows when you open MaeVae: its first window, and its icon in the tray at the right end of the taskbar.
Find MaeVae and start it
- Open the Start menu and choose MaeVae.
- MaeVae opens on its first window, and its icon appears in the tray at the right end of the taskbar.
The rail says No profiles yet and offers + Add profile, with Quick settings at its foot; the top bar reads 0 open; the stage says Click a profile to open a session. Where motion is allowed, a short rendered scene plays once and ends on this frame: the desktop starts without the window, the Start button on the taskbar is pressed, the Start menu lists MaeVae, MaeVae is chosen, and its window opens while its icon appears in the tray.
What you see: the rail on the left says No profiles yet and offers + Add profile; the stage says Click a profile to open a session. Chapter 3 walks through the window.
Note. MaeVae runs one window at a time: starting it again brings the open window forward instead of opening a second one. If you closed the window, MaeVae is still in the tray, and its sessions are still running.
Let the Store keep it up to date
New versions of MaeVae arrive through the Microsoft Store, the way any Store app’s do; there is nothing to download by hand. Your profiles, settings and logins are not inside the app: MaeVae keeps them in MaeVae’s data folder in your Windows user folder, so an update leaves them as they are.
- Leave MaeVae’s own updates to the Microsoft Store: nothing inside MaeVae updates the app itself.
- To see what MaeVae does update, click Quick settings at the foot of the rail. Under Update agents are Update all installed and one button per agent’s tool, with Install before the name of an agent that is missing.
Quick settings shows + Add profile and + Add agent, then Update agents: Update all installed, and one button per agent, Claude Code, Codex CLI, Gemini CLI, Install Qwen Code, aider and Install Grok CLI, with the line Missing: Qwen Code, Grok CLI. No button in the list is for MaeVae itself: the Store updates MaeVae. Where motion is allowed, a short rendered scene plays once and ends on this frame: Quick settings at the foot of the rail is pressed, the panel opens in the rail as the button turns to Close, and a frame marks the Update agents list for a moment.
What you see: Quick settings open in the rail, its button now reading Close, and under Update agents the agents’ tools alone. MaeVae’s own new versions come from the Store.
Note. The Update agents buttons in Quick settings update the agents’ own tools, not MaeVae; see chapter 14.
Back to contentsStart MaeVae for the first time
Name every part of MaeVae’s window, fold the rail out of the way when you need room, and open New profile.
Get to know the window
MaeVae opens as one window without a Windows title bar of its own: the top of the rail carries the name, and the top bar carries the window’s buttons. Four parts matter at the start; the numbers match the marks on the rendering.
- The rail, on the left, lists your profiles, grouped under each agent’s name. With none yet it says No profiles yet and offers + Add profile.
- The stage holds the panes. While it is empty it says Click a profile to open a session, and under it, Each pane is a real terminal pinned to its own account and project.
- Quick settings, at the foot of the rail, opens a panel in the rail with + Add profile and + Add agent, the app theme, Update agents, the Isolation checks, HUD and sound, the terminal, pets and pane notifications, Usage & cost, Data folder, Backup & restore… and Before uninstalling. While the panel is open, the button reads Close.
- The top bar counts the open panes and carries the layout buttons, usage, Close all and the window’s own buttons (the top bar, below).
Mark 1 is on the rail, which says No profiles yet and offers + Add profile. Mark 2 is on the empty stage, which says Click a profile to open a session, and under it, Each pane is a real terminal pinned to its own account and project. Mark 3 is beside the Quick settings button at the foot of the rail. Mark 4 is on the top bar, with 0 open, the word layout and the three layout buttons, usage, Close all and the window's own buttons. Where motion is allowed, a short rendered scene plays once and ends on this frame: a frame moves from the rail to the stage, to Quick settings and to the top bar.
What you see: one window with nothing running yet. The top bar’s empty space moves the window when you drag it, as a title bar would.
Pin, fold or hide the rail
- Press Ctrl+B, or click the small button at the top of the rail. The rail folds to a strip of lights, one per profile: collapsed.
- Press Ctrl+B again. The rail slides out of the way and leaves a thin handle at the window’s left edge: auto-hide. Point at the handle and the rail slides back over the panes until you move away.
- Press Ctrl+B a third time to pin it again. The button’s tooltip always says which mode the rail is in.
- To make the pinned rail wider or narrower, drag its right edge; double-click the edge to reset it.
Under Claude Code the rail lists the profiles Client work and Side project, under Gemini CLI the profile Research, and on a wide screen under Codex CLI the profile Docs, with Quick settings at the foot. Two Claude Code panes, Client work and Side project, stand side by side. Where motion is allowed, a short rendered scene plays once and ends on this frame: Ctrl+B folds the rail to its lights, a second Ctrl+B hides it behind a thin handle so the panes take the room, and a third pins it again.
What you see: the panes take the room the rail gives up. While the rail is hidden, its handle turns amber and shows a dot with the initial of each profile that needs you (chapter 7).
Note. Toggle rail in the command palette does the same as Ctrl+B. While Quick settings or a profile’s editor is open, the rail stays out, since both open inside it.
Read the top bar
From left to right, the top bar holds these parts; some appear only when they can do something.
- The count
- 0 open, 1 open and so on. At launch, after a restart it also counts the waiting places, for example 1 open · 2 waiting (chapter 17).
- Show all (N)
- At launch, only while one pane fills the window; it brings the others back (chapter 6).
- layout
- The three layout buttons: columns, rows and grid.
- Broadcast to all panes
- A box that appears once two or more panes run; a line typed there goes to every pane.
- usage
- Opens the usage dashboard (chapter 10).
- panic
- Appears while a pane runs; a second click stops every agent running in MaeVae (chapter 17).
- Close all
- Closes every pane and stops its agent, after asking.
- The window’s buttons
- Minimize, maximize and close, which hides the window to the tray while the sessions keep running.
The top bar reads, from left to right, 2 open, the word layout and the three layout buttons with columns chosen, the Broadcast to all panes box, usage, panic, Close all, and the minimize, maximize and close buttons. Where motion is allowed, a short rendered scene plays once and ends on this frame: a frame moves along the top bar from the count to the layout buttons, the Broadcast box, usage, panic, Close all and the window's buttons.
What you see: with two panes running, every part is there; with none, the count reads 0 open and the Broadcast box and panic are gone. Each button’s tooltip says what it does, for example Close to tray, sessions keep running, on the window’s close button.
Start a new profile
- Click + Add profile in the empty rail. Once you have profiles, the same button sits in Quick settings: click Quick settings at the foot of the rail, then + Add profile.
- New profile opens over the window, which dims behind it, at Step 1 of 3.
- To leave without a profile, click its close button, or anywhere on the dimmed window outside the panel.
What you see: New profile in three steps, Agent, Account and Project. Next stays grayed until the profile has a name; chapter 4 fills the steps in.
Back to contentsMake your first profile
Fill in New profile’s three steps, give the profile a color, open its pane, and finish the agent’s own first-run steps.
A profile is one identity: one agent, one account and one project folder. MaeVae gives each profile its own isolated configuration folder inside its data folder, so one profile’s login, billing and memory never mix with another’s. New profile asks for the three things in three steps: Agent, Account and Project.
Name the profile and pick its agent
Before you start: New profile is open at Step 1 of 3 (chapter 3).
- Type a short Name, such as the project or the account the profile is for. The box shows alpha in gray until you type.
- Pick the Agent: Claude Code, Codex CLI, Gemini CLI, Qwen Code, aider or Grok CLI. A tool MaeVae cannot find shows (not installed) after its name (chapter 1).
- Click Next. It stays grayed until the profile has a name.
The Name box holds Client work, the Agent list shows Claude Code, the note says to pick the CLI agent this profile runs and give it a short name, and the panel ends with Advanced (all fields) and Next. Where motion is allowed, a short rendered scene plays once and ends on this frame: the name is typed over the gray hint alpha, Next turns from gray to ready, the Agent list is picked out, and Next is pressed.
What you see: Step 2 of 3, Account, once you click Next.
Note. The steps make agent profiles. A profile with a plain shell and no agent is made with Advanced (all fields), at the foot of any step: in the full form the Agent list ends with Plain shell. More agents can be added from Quick settings, + Add agent.
Choose the account
- For Claude Code, choose Fresh isolated account, which gets its own configuration folder and signs in on the first launch, or Use my existing Claude login, which shares the login your everyday Claude Code uses, with its history and memory.
- For the other agents there is nothing to choose: each gets an isolated configuration folder of its own, and you sign in, or add an API key in the editor, on the first launch. aider has no configuration folder and no login: its API key is the account (chapter 5).
- Type an Account label if you like, such as the email of the account, so you recognize it. For Claude Code, Codex CLI and Gemini CLI, MaeVae checks it against the real login and warns when the two differ.
- Click Next.
Fresh isolated account is chosen, with its line: its own config dir, you'll log in on first launch; the other choice is Use my existing Claude login. The Account label box holds work@example.com, with the note that MaeVae checks the label against the real login and warns on a mismatch. The panel ends with Advanced (all fields), Back and Next. Where motion is allowed, a short rendered scene plays once and ends on this frame: Fresh isolated account is picked out, the label is typed over its gray hint, and Next is pressed.
Its own config dir; you'll log in on first launch. Use my existing Claude login Account label work@example.com A label so you recognise the account. MaeVae checks it against the dir's real login and warns on a mismatch.
What you see: Step 3 of 3, Project, once you click Next; Back returns to the step before.
Note. If you choose Use my existing Claude login, MaeVae shows a heads-up: once you turn on MaeVae’s HUD for that profile, MaeVae writes into the login folder your everyday Claude Code uses. Read chapter 18 before you ever uninstall.
Give the profile a color
New profile’s steps have no color; the full editor has one. Use Advanced (all fields), at the foot of any step, to carry what you typed into the full editor now, or set the color once the profile exists:
- Click the pencil, Edit profile, on the profile’s entry in the rail. Its editor opens in the rail, under the profiles.
- Under Colour, click a swatch, or the swatch marked + for a color of your own.
- If you like, Name text colour and Account label colour tint the profile’s name and its account label in the rail and on its pane; each starts on a Default chip that keeps the theme’s color.
- Click Save changes.
Under the profile list the rail shows Editing Client work, the Name and Account label boxes, the Colour row of swatches with the second swatch chosen, on a wide screen the Name text colour row, and Save changes. The profile's light in the rail and its pane, running Claude Code, are in the chosen color. Where motion is allowed, a short rendered scene plays once and ends on this frame: the second swatch is clicked, Save changes is pressed, and the rail light, the pane's name and its underline take the new color.
What you see: the profile’s light in the rail, the mark and the name on its pane, and the line under its pane’s header take the new color, so you can tell identities apart at a glance. The same editor holds an icon, a pane theme and more (chapter 16).
Set the project folder
- On Step 3 of 3, Project, type the folder the agent should work in under Project folder. The gray ~/work/alpha (optional) is only a hint.
- Leave it empty if you have none yet. An agent pane then starts in a scratch folder of the profile’s own, never in your home folder, because every agent also reads settings from the folder it starts in, and in your home folder those would be its shared ones.
- Also make a CLI launcher starts ticked. Leave it ticked if you also want to open this profile outside MaeVae, from a launcher or a Windows Terminal tab (chapter 15); untick it if you do not.
The Project folder box holds ~/work/client, Capability shows Trusted (full access), the check box Also make a CLI launcher is ticked, as it starts, and the note says the first launch runs the agent's one-time setup in the pane. The panel ends with Advanced (all fields), Back and Create & open. Where motion is allowed, a short rendered scene plays once and ends on this frame: the folder is typed over the gray hint.
What you see: the folder in the box, and the note that the first launch runs the agent’s own one-time setup in the pane.
Note. If a saved folder goes missing later, through a typo or an unplugged drive, the pane starts in the profile’s scratch folder and says so in its first line, and the editor shows a note under Project folder until you set one that exists. A Windows Terminal tab cannot fall back that way, so keep its folder in place.
Choose Trusted or Restricted
- On the same step, for Claude Code, Codex CLI and Gemini CLI, Capability offers Trusted (full access) and Restricted (boxed to the project folder). Qwen Code, aider, Grok CLI and a plain shell have no Capability: Restricted mode exists for those three agents only.
- Choose Restricted to keep the agent to its project folder and stop push and deploy commands. A note under the choice says what the box does for this agent, and that it needs a real project folder.
- Leave Trusted for full access. You can change it later in the profile’s editor (chapter 8).
The Project folder box holds ~/work/side-project and Capability shows Restricted (boxed to the project folder), with the app's note under it: it needs a real project folder, an existing directory that is not your home folder, Save is refused without one, and the agent launches in that folder and the box follows it. The ticked check box Also make a CLI launcher, the first-launch note and the buttons Advanced (all fields), Back and Create & open follow. Where motion is allowed, a short rendered scene plays once and ends on this frame: Capability is picked out and changes from Trusted (full access) to Restricted, and the note rises under it.
What you see: the note under Capability; the rendering shows its first sentences, and in the app it goes on to say what the box allows and denies for this agent.
Limit. Restricted mode works by a per-profile folder box and a deny list of command names, not by a sandbox. A deny list is a speed bump: a determined shell can reach the same binaries by another path. Every pane runs as the same Windows user, so the credential stores on the machine, such as git credential helpers, SSH keys and the tokens of hosting tools, are shared across panes. Treat it as a strong guardrail for cooperative agents, not as a security boundary against hostile code.
Create the profile and open its pane
- Click Create & open.
- MaeVae makes the profile with its own configuration folder, adds it to the rail under its agent’s name, and opens its pane. The top bar reads 1 open.
- The agent starts in the pane by itself: Start agent automatically is on for every new profile.
The rail lists, under Claude Code, the profile Client work with the account label work@example.com. One pane is open: Client work, running Claude Code, with a gray Isolation badge for Unchecked, review, Redraw and close in its header. Its terminal shows the agent's first screen in made-up words, Setting up for the first time, and its question Choose the text style, with Dark highlighted and Light under it. The top bar reads 1 open. Where motion is allowed, a short rendered scene plays once and ends on this frame: Create & open is pressed on the last step of New profile, the panel goes, the profile appears in the rail, and its pane opens and starts the agent.
What you see: the pane’s header shows the profile’s name, the agent and a gray Isolation badge. A new profile reads Unchecked until you approve what it has installed (chapter 9). Clicking the profile in the rail later opens its pane again.
Finish the agent’s own first-run steps
The first time a new profile’s pane opens, the agent runs its own one-time setup there. These are the agent’s screens, not MaeVae’s, and their words differ from agent to agent and from version to version. For Claude Code:
- Pick a text style from the agent’s theme list.
- Answer the agent’s question whether to trust the files in the project folder.
- Sign in, which for Claude Code is a login in your browser (chapter 5).
What you see: once the setup is done, opening the pane starts the agent straight away. If a fresh pane seems to wait with a theme list or a trust question, it is this setup: complete it and the agent starts.
Back to contentsSign in inside the pane
Sign each profile in to its own account, inside its own pane, check which account it uses, or give it an API key instead.
You sign in inside the pane, in the agent’s own login, the same way you would in a terminal of your own. MaeVae never asks for your password and never sees it. The login the agent saves stays in that profile’s own configuration folder, apart from every other profile’s.
Follow the agent’s own sign-in
- Click the profile in the rail to open its pane; the agent starts in it.
- Follow the agent’s own sign-in in the pane. Each agent signs in its own way:
- Claude Code
- Signs in through your browser during its first-run setup.
- Codex CLI
- Run it in its pane and sign in, or set an API key in the profile’s editor.
- Gemini CLI
- Set a Gemini API key from Google AI Studio in the profile’s editor. Google’s own sign-in in the pane works only with a Workspace Code Assist license.
- Qwen Code
- Works with an API key, an Endpoint and a Model, and needs all three to use the endpoint (chapter 12). For Alibaba’s own sign-in, run
/authin its pane instead. - aider
- Has no login: its API key, set in the profile, is the account.
- Grok CLI
- Run
grokin its pane and sign in, or set an xAI API key.
- When the agent says you are signed in, the profile keeps that login in its own configuration folder; the next time the pane opens, the agent starts signed in.
What you see: a small green dot after the profile’s name in the rail marks a profile that is signed in. The rail reads those dots each time it refreshes its list, for example when a pane opens or exits, so a new sign-in shows its dot at the next refresh, not at once.
Check which account a profile is signed in as
- Click the pencil, Edit profile, on the profile’s rail entry.
- Read the Account line in the editor: signed in as, then the account, or not signed in.
- If the account differs from the profile’s Account label, the editor offers Use “…” as the label, with the account in the quotes; click it to make the label match, then Save changes.
The editor reads Editing Client work, the Name box, the Account label box holding work, and the Account line, signed in as work@example.com, with the link Use work@example.com as the label under it; on a wide screen the buttons Save this login, Add another account and Sign out follow, and Save changes ends the editor. The profile's pane, running Claude Code, says in made-up words that it is signed in as work@example.com. Where motion is allowed, a short rendered scene plays once and ends on this frame: the pane waits for the sign-in, the agent signs in, the editor's Account line changes from not signed in to signed in as work@example.com, and the link rises under it.
What you see: MaeVae reads which account the profile’s folder is signed in to and shows it; the password stays inside the agent’s own login, where you typed it.
Limit. Two features you turn on yourself keep a copy of the login token: the account switcher (chapter 11) and a backup with Include account logins ticked (chapter 13). The HUD’s quota reader also reads the token, in memory, to ask the vendor’s usage service for the figures (chapter 10).
Use an API key instead of a login
- Open the profile’s editor with the pencil, Edit profile.
- Set Authentication to API key. Claude Code, Codex CLI, Gemini CLI, Qwen Code and Grok CLI offer both; aider has only a key.
- Paste the key into the API key box. While it is empty the box says paste key; once a key is stored it says so, and a new key typed there replaces it.
- Click Save changes.
The editor reads Editing Side project, the Name box, on a wide screen the Account label box, Authentication set to API key, the API key box filled with dots that hide the key, the note that the key is stored in the Windows Credential Manager, never in a file, and injected as OPENAI_API_KEY into this profile's pane only, and Save changes. In the rail, Side project now carries a second small dot after its name, the mark of a stored key. Where motion is allowed, a short rendered scene plays once and ends on this frame: Authentication changes from Sign in (OAuth, in the pane) to API key, the API key box and its note rise, the key is pasted, Save changes is pressed, and the dot appears in the rail.
What you see: MaeVae keeps the key in the Windows Credential Manager, never in a file, and gives it to this profile’s pane only. A second small dot after the profile’s name in the rail marks a stored key; Remove saved key, under the box, takes it away again.
Note. A launcher or Windows Terminal tab of a profile in API-key mode carries no key and falls back to whatever login its folder holds, so use the pane, which injects the key. aider’s launcher is the exception: it reads the saved key each time it runs (chapter 15). A backup copies keys only when you tick Include API keys (chapter 13).
Back to contentsWork side by side
Run several agents at once: open more profiles, arrange their panes, at launch let one fill the window, move between them from the keyboard, send one line to all of them, write in a compose box, and review what an agent changed.
Open a second profile beside the first
- Make a second profile as in chapter 4, or click one already in the rail.
- Its pane opens beside the first. Each pane is a real terminal with its own agent, account and project folder.
- The top bar now reads 2 open, the Broadcast to all panes box appears, and, at launch, each pane’s header gains the fill button.
The rail lists Client work and Side project under Claude Code, both lit, and Research under Gemini CLI, not open. The top bar reads 2 open and shows the Broadcast to all panes box. Where motion is allowed, a short rendered scene plays once and ends on this frame: Client work runs alone, Side project is clicked in the rail, its pane opens beside the first, and its agent starts working.
What you see: two panes, each with its own agent at work, and the profile’s light on in the rail for each.
Note. A profile can run in more than one pane: click it again while its pane is open and a second pane of it opens. The two share the profile’s HUD figures and its attention light, which MaeVae keeps per profile. At launch, a new pane always shows every pane, even if one filled the window.
Switch the layout: columns, rows or grid
- In the top bar, after the word layout, click one of the three buttons: columns, rows or grid. Each button’s tooltip names its layout, for example Side-by-side columns.
- In the grid, the panes fill the space whatever their number; with three, the last one spans the row.
- The Layout actions of the command palette do the same.
On a wide screen, Client work and Side project, both running Claude Code, share the top row and Research, running Gemini CLI, spans the bottom row; on a narrow screen they stack. The top bar shows 3 open and the layout buttons with grid chosen. Where motion is allowed, a short rendered scene plays once and ends on this frame: the three panes start as columns, switch to rows, and then to the grid, and the chosen layout button moves with them.
What you see: the same panes, still running, in the new arrangement. At launch, choosing a layout also shows every pane again if one filled the window.
Note. At launch, the arrangement is remembered: which panes are open, their order and sizes, the layout and the pane that fills the window are saved as you change them, and come back after MaeVae starts again (chapter 17).
Drag a gutter or a divider
- Point at the line between two columns or two rows, the gutter, or at a divider of the grid.
- Drag it. The panes refit as you drag, and neither pane of the pair can be squeezed below a small share of their room.
- To change the order of the panes, drag a pane by the grip at the left of its header, or use the two arrow buttons in its header, which move it one place earlier or later.
What you see: the panes at their new sizes, and each terminal refitted to its pane. At launch, the sizes are saved with the rest of the arrangement once you let go.
Note. The rail has an edge of its own: while it is pinned, drag its right edge to make it wider or narrower, and double-click the edge to reset it.
Let one pane fill the window, then bring the others back
At launch: this task is part of the Microsoft Store version of MaeVae.
- With two or more panes open, click the fill button in a pane’s header, press Alt+0, or choose Maximise pane in the command palette.
- That pane fills the window. The others are hidden, not closed: their agents keep running.
- To bring them back, click Show all (3) in the top bar (the number is the count of panes), press Alt+0 again, choose Show all panes in the palette, or click the same header button, which now shows the grid’s sign.
What you see: while one pane fills the window, its header button shows the grid’s sign and the top bar shows Show all with the number of panes.
Note. While panes are hidden, Show all also carries a count of the hidden panes that need you, so an approval behind the full pane is not missed. Opening a new pane, or choosing a layout, shows every pane again too.
Move between panes from the keyboard
- Alt+1 to Alt+9
- Move the keyboard to pane 1 to 9. At launch, while one pane fills the window, Alt and a number makes that pane fill it instead.
- Alt+0
- At launch: the pane that has the keyboard (the first, if none has it) fills the window; pressed again, every pane shows.
- Ctrl+K
- Opens or closes the command palette.
- Ctrl+B
- Pins, folds or hides the rail.
- Ctrl and the mouse wheel
- Makes a pane’s text smaller or larger; the two text-size buttons in its header do the same.
- Ctrl+Shift+F
- Searches the pane’s scrollback.
- Ctrl+V
- Pastes, once per press (on by default); Ctrl+Shift+V, a right-click and Shift+Insert paste too, and selecting text copies it.
- Press Alt+2: the keyboard moves to pane 2, which shows a thin ring in its profile’s color.
- At launch, press Alt+0: pane 2 fills the window. Press Alt+3: pane 3 fills it instead.
- At launch, press Alt+0 again: every pane shows, and the keyboard stays in pane 3.
Client work and Side project run Claude Code, and Research runs Gemini CLI. Research holds the keyboard and carries a thin ring in its own color. Where motion is allowed, a short rendered scene plays once and ends on this frame: a key mark shows Alt+2 and the ring moves to Side project, Alt+0 makes Side project fill the window, Alt+3 makes Research fill it instead, and Alt+0 shows all three panes again with the keyboard left in Research.
What you see: the pane with the keyboard carries a thin ring in its profile’s color.
Note. Only the number keys of the top row count: Alt with the number pad still types a Windows Alt code. While the keyboard is in a text box, such as an editor field or the Broadcast box, Alt and a number stay with the box. At launch, on a waiting place after a restart the keyboard lands on the place itself, so Enter starts nothing.
Run an action from the command palette
- Press Ctrl+K. The palette opens near the top of the window, with the cursor in its box, which says Search commands.
- Type a few letters. The list keeps the actions whose name or key hint contains them.
- Move with the arrow keys and press Enter to run the highlighted action, or click it. Esc closes the palette.
The palette's box holds jump, and three actions are left: Jump to pane 1: Client work, with the key Alt+1; Jump to pane 2: Side project, with Alt+2, highlighted; and Jump to pane 3: Research, with Alt+3. Where motion is allowed, a short rendered scene plays once and ends on this frame: the palette opens with its full list, jump is typed letter by letter and the list narrows to the three, the highlight moves down one, and Enter is pressed.
What you see: the actions of the palette, in this order: Open, for each profile, with its agent as the hint; Jump to pane, for each pane, with its Alt key; at launch, Maximise pane, or Show all panes while one fills the window; the three layouts; Usage & cost dashboard; Toggle rail; Close all panes; and Theme, for each theme.
Send one line to every pane
- With two or more panes running, click the Broadcast to all panes box in the top bar.
- Type a line and press Enter. The line goes to every open pane at once, as if typed there and followed by Enter, and the box empties.
Client work and Side project run Claude Code and Research runs Gemini CLI. Each pane shows the line run the tests at its prompt and, under it, its agent's made-up answer. The Broadcast to all panes box in the top bar is empty again. Where motion is allowed, a short rendered scene plays once and ends on this frame: run the tests is typed into the Broadcast box, Enter is pressed, the line appears in all three panes at once, and each agent answers.
What you see: the line at each pane’s prompt and each agent’s own answer, in its own words.
Limit. The line reaches every pane, the panes of Restricted profiles included, so read it before you press Enter. At launch, a waiting place after a restart receives nothing: it has no session.
Write a prompt in the compose box
- Open Quick settings and, under Compose box, click Customize compose box….
- Tick Show a compose box on panes. Under Corrections, Autocorrect common typos when you send and Dictionary (spelling suggestions as you type) work offline; Your own dictionary takes words of your own.
- Click Save.
- Type a prompt in the box at the bottom of a pane and press Enter to send it to the pane; Shift+Enter starts a new line.
What you see: the prompt in the pane, corrected when Autocorrect is ticked, as if you had typed it there. The box never touches what you type straight into the terminal.
Redraw a pane that shows leftover characters
- If a resize leaves stray characters on a pane, click its Redraw button, the circular arrow in the pane’s header.
- MaeVae nudges the program in the pane to repaint its terminal.
What you see: the pane repainted, with only the agent’s current screen in it.
Note. A Gemini pane that draws on the normal screen also gets Gemini’s own clear-screen key, which Gemini ignores until something has been typed in the pane, so a faint copy may stay above. MaeVae turns on Gemini’s alternate screen for every new Gemini profile, and there the nudge alone repaints cleanly; for an older profile, Draw on the alternate screen is in its editor and takes effect when the pane next opens.
Review what an agent changed, then keep it or drop it
Before you start: the profile has a project folder that is a git repository. review stands in the header of every profile with a project folder; for a folder that is not a repository, the panel says so. Some renderings in this guide leave review out of a pane’s header where their task does not need it.
- Read the branch chip after the agent’s label in the pane’s header: the branch of the project folder, a dot while there are uncommitted changes, and how many commits it is ahead of or behind its upstream.
- Click review in the pane’s header. The review panel opens over the pane; its head reads Review changes, with the branch and the number of changed files.
- Read the changed files, each with its git status, then the summary of the lines changed and the changes themselves.
- To keep the changes, type a message in the Commit message box and click Commit all, or press Enter in the box. The button stays grayed until there is a message.
- To drop them instead, click Discard, then click it again while it reads “sure? reverts tracked”.
- Close the panel with the close mark at its top right; the pane is back as it was.
In the pane's place stands the review panel. Its head reads Review changes, with the branch main and 2 changed. It lists src/invoice.ts, modified, and src/rounding.ts, a new file not yet tracked; then the summary for src/invoice.ts, 1 file changed, 2 insertions and 1 deletion; then the changes themselves, an added import line and a return line that now rounds the total. At its foot the Commit message box holds Round invoice totals, beside the buttons Commit all and Discard. Where motion is allowed, a short rendered scene plays once and ends on this frame: review is clicked in the pane's header, the panel opens in the pane's place, and the commit message is typed.
What you see: after Commit all, git’s own summary of the new commit under the changes, and the panel then reads “No uncommitted changes in the project folder.” After Discard, it reads “Reverted tracked files to the last commit (new untracked files kept).”
Limit. Commit all stages every change in the project folder, yours as well as the agent’s, and commits it with the repository’s own settings and hooks, so read the list first. Discard puts only the tracked files back to the last commit: a new file the agent wrote stays, and in a repository with no commit yet there is nothing to go back to.
Back to contentsWhen an agent needs you
Turn the attention queue on for each profile, know every place it tells you, answer from the pane, and do the one-time step Codex and Gemini need first.
When an agent asks for an approval, or finishes a turn, MaeVae lights its pane, badges the tray icon, and can raise a Windows notification and a chime. All of it rides on attention events the agent sends through hooks MaeVae sets up for that profile, so the first task turns them on.
Turn the glow on and watch a pane light up
Before you start: the profile’s editor is at hand (the pencil on its rail entry). An agent reads its hooks when it starts, so a pane opened before this step needs to be opened again.
- Claude Code: click hud on the profile’s rail entry. It turns on the HUD and the attention hooks together, written into that profile’s own settings beside anything you added there. The editor’s Attention hooks button turns the attention part off and on by itself.
- Codex CLI, Gemini CLI, Qwen Code and Grok CLI: click Enable attention glow in the profile’s editor. The button then reads Attention glow: on, and MaeVae has written its hooks into that profile’s own settings, beside any hooks of yours.
- aider: nothing to do. The glow is on from the start, and only ever green, because aider never asks for an approval through MaeVae.
- Close the profile’s pane and open it again, so the agent reads its new hooks.
Client work, running Claude Code, has finished its turn: its pane has a green ring and its header says done. Research, running Gemini CLI, waits for an approval: its pane has an amber ring, its header says waiting with approve and deny, and its terminal asks Allow npm test? with Allow once highlighted and No under it. In the rail, the light of Client work is green and the light of Research amber. Where motion is allowed, a short rendered scene plays once and ends on this frame: both agents start out working, Client work finishes and lights green, then Research asks and lights amber.
What you see: a waiting pane lights amber and its header says waiting; a pane whose turn has finished lights green and says done, or waiting for you when Claude Code sits at its prompt. The profile’s light in the rail takes the same color. Click the pane to clear the mark.
Note. For a Claude profile that shares your everyday login folder, hud asks for a second click first, because it changes your everyday Claude Code too. Codex and Gemini each need one more step inside the agent before their glow works: see Codex’s and Gemini’s tasks below.
Find a waiting agent from the tray
- Look at MaeVae’s icon in the tray. While any pane waits for you it carries an amber dot, and so does MaeVae’s button on the taskbar; the icon’s tooltip says how many wait.
- Double-click the tray icon, or open its menu and choose Show MaeVae, to bring the window forward.
- Find the amber pane. If the rail is hidden, its handle has turned amber and shows a dot with the initial of each profile that needs you.
What you see: the dot on the tray icon and on the taskbar button stays until nothing waits any more.
Get a Windows notification
While MaeVae’s window is not the one you are working in, an agent that needs your approval or has finished a turn also raises a Windows notification. Its title names the profile, for example “Research needs approval” or “Research finished”; its text is the agent’s own message or, when the agent sent none, “Waiting for your go-ahead.” or “Turn complete.” While the window is in front of you, the glow is enough, so none is sent.
- Nothing to turn on: the notification follows the attention events of the first task.
- If none arrives, open Windows Settings › System › Notifications: Notifications must be on and Do not disturb off, and MaeVae must be on in the list of apps once it has appeared there.
What you see: the notification in the corner of the screen, where Windows puts it; MaeVae sends one per event, not one per minute.
Limit. Windows decides whether a notification is shown. The notification editor of the last task asks Windows the same question and says so under its check boxes when Windows will not deliver one.
Turn on a chime
- Open the profile’s editor with the pencil, Edit profile.
- Tick Notification chime. A list of chimes appears: open it and point at a chime to hear it, or press Preview.
- Click Save changes.
The editor reads Editing Research, on a wide screen the Name box, the ticked check box Notification chime, the chime Aurora with a Preview button, the note that the chime sounds once per attention event while this profile runs in a MaeVae pane, whether or not you are looking at it, and Save changes. Research's pane runs beside the rail. Where motion is allowed, a short rendered scene plays once and ends on this frame: Notification chime is ticked, the chime and its note rise, Preview is pressed, and then Save changes.
What you see: from now on the chime sounds once for each event, an approval needed or a turn finished, whether or not you are looking at that pane. It plays through Windows audio, so it sounds even while MaeVae is hidden in the tray, though Windows may then hold it back for up to about a minute.
Note. Mute all notification chimes, in Quick settings under HUD and sound, silences every profile at once. The editor offers the chime only for the agents that send attention events, and it needs them on, as in the first task. If Preview is audible but the chimes are not, Windows is sending MaeVae’s sound to another output: open the Volume mixer and set MaeVae’s output device to your speakers or to Default.
Limit. A profile you started in a Windows Terminal tab does not chime: MaeVae only hears its own panes.
Approve or deny from the pane’s header
- When a pane lights amber and its header says waiting, read the agent’s question in the pane.
- Click approve to send Enter, which picks the option the agent has highlighted, or deny to send Esc.
- The light clears and the agent carries on with your answer.
Research's terminal shows, in made-up words, Read package.json, Installed 12 packages and Running the tests. Where motion is allowed, a short rendered scene plays once and ends on this frame: Research asks Allow npm install?, its pane lights amber and its header shows waiting, approve and deny; approve is pressed, the light and the buttons go, and the packages install.
What you see: the agent’s next lines in the pane, and the profile’s light in the rail back to its own color.
Note. The buttons appear only on the pane whose agent asked. Codex’s hooks cannot say which pane that is, so with two Codex panes of one profile open, an approval may belong to the other one; the buttons’ tooltip says so. An agent started outside MaeVae, in a Windows Terminal tab or from a launcher, can be mirrored on its profile’s pane, marked · outside, but without approve and deny: answer it in that terminal.
Trust MaeVae’s hooks in Codex, once
Before you start: Enable attention glow is on for the Codex profile, and its pane has been opened again since.
- In the Codex profile’s pane, type
/hooks. - Codex shows its hooks. Trust MaeVae’s two, PermissionRequest and Stop.
- Ask the agent for something that needs an approval: the pane now lights amber.
What you see: from then on the Codex pane lights and chimes. Codex asks again whenever the hooks’ text changes, after a MaeVae update for instance.
Limit. Until this step is done the pane never glows or chimes for that profile, and Codex shows Hook failed under its reply if a hook cannot run.
Let Gemini load the hooks
Before you start: Enable attention glow is on for the Gemini profile, and its pane has been opened again since.
- In the Gemini profile’s pane, trust the project folder Gemini opened in, when Gemini offers it. Gemini loads hooks only in a folder it trusts.
- Type
/hooks panelto see MaeVae’s two hooks listed, and on.
What you see: the two hooks, on. MaeVae’s hooks need no trust of their own in Gemini: the folder’s trust is the one step.
Limit. Until Gemini trusts the folder, the pane never glows or chimes for that profile.
Choose how a pane signals
- Open Quick settings and click Customize pane notifications…, or, for one profile, Customize for this profile… in its editor.
- Under Behaviour, pick a Style: Pulsing border ring, Steady glow border, Flash then settle, Corner dot, Full-pane tint, Blink, or Off (left rail only). Intensity and Speed set its strength and pace.
- Under States & colours, tick the states that signal: Needs approval, Waiting / finished and Working (off at first). Give each a color, and tick OS toast for a Windows notification whenever a pane enters that state.
- Click Save.
Under Behaviour, Style shows Corner dot, with Intensity 60 and, on a wide screen, Speed 50. Under States and colours, Needs approval is ticked with OS toast ticked beside it, Waiting / finished is ticked, and Working is not; on a wide screen the ticked box Also mirror this profile's Windows Terminal / launcher sessions on its pane follows. The panel ends with Cancel and Save. Where motion is allowed, a short rendered scene plays once and ends on this frame: the Style changes from Pulsing border ring to Corner dot, OS toast is ticked for Needs approval, and Save is pressed.
What you see: the panel previews the style as you change it, and any open pane of the profile shows it live. Off (left rail only) keeps only the rail’s light.
Note. An OS toast ticked here fires when a pane enters that state, apart from the notification of the third task, and never while this panel is open. Also mirror this profile’s Windows Terminal / launcher sessions on its pane, on at first, lets a pane show what its profile’s agent does in a Windows Terminal tab, marked · outside.
Back to contentsRestricted mode, step by step
Box a Claude Code, Codex CLI or Gemini CLI profile to its project folder, see what it then refuses, and lift the box again; and know exactly where it stops.
Restricted mode is for Claude Code, Codex CLI and Gemini CLI profiles. It keeps the agent to its project folder and keeps push and deploy commands from running on their own. MaeVae writes it as rules merged into that profile’s own settings, beside your hooks and your theme, and records exactly what it added, so lifting it later removes those rules and nothing of yours.
Mark a profile Restricted
Before you start: the profile has a real project folder (the third task), and its panes are closed: switching between Trusted and Restricted is refused while the profile has a pane open.
- Click the pencil, Edit profile, on the profile’s rail entry.
- Set Capability to Restricted (boxed to project folder).
- Read the note that appears under it: it says what the box grants and denies for this agent.
- Click Save changes. For a new profile, choose Restricted on the last step of New profile instead (chapter 4).
The editor reads Editing Side project, the Name box, the Project folder box holding ~/work/side-project, Capability set to Restricted (boxed to project folder), part of the app's note under it, which says the box grants only the project folder, denies reading or editing sibling folders and other profiles' config dirs, and blocks push and deploy commands such as git push, wrangler, deploy and publish, and Save changes. In the rail, Side project is marked · restricted. Client work's pane runs beside the rail. Where motion is allowed, a short rendered scene plays once and ends on this frame: Capability is picked out and changed from Trusted (full access) to Restricted, the note rises, Save changes is pressed, and · restricted appears in the rail.
What you see: · restricted under the profile’s name in the rail. The next time its pane opens, the agent starts in the project folder and runs inside the rules MaeVae wrote.
Note. If the rules cannot be written when you save, for example because the agent’s settings file is locked, MaeVae saves the profile as Trusted and says why. Fix the file it names and set Restricted again.
See what the agent now refuses
Each of the three agents confines itself through its own settings, so the box differs from agent to agent. The refusal is always the agent’s own, in its own words: MaeVae writes the rules and prints nothing in the pane.
- Claude Code
- Grants only the project folder. Denies reading or editing the folders beside it, other profiles’ configuration and MaeVae’s own records. Denies push and deploy commands:
git push,git remote,npm run deploy,wrangler,npm publish,gh pr mergeandgh release, among others. It also switches off the mode that skips every permission prompt, soclaude --dangerously-skip-permissionscannot void the box. - Codex CLI
- Confines Codex’s writes to the project folder, turns its network access off, and makes it stop for your approval before it crosses either line, so
git pushor a deploy asks instead of running. Codex can still read anywhere. - Gemini CLI
- Asks for your approval before every tool call, switches off the mode that approves everything, even when it is asked for on Gemini’s own command line, denies push and deploy commands, and keeps its file tools to the project folder. A shell it runs can still read outside the folder.
Side project, a Restricted profile running Claude Code and marked · restricted in the rail, shows in made-up words: Wrote docs/setup.md and Committed the change, then the command git push with this page's mark Blocked beside it, the agent's line saying the command is denied by this profile's settings, and the prompt waiting. Client work, a Trusted profile, works beside it. Where motion is allowed, a short rendered scene plays once and ends on this frame: the lines arrive one by one, the push is typed, and the refusal follows a beat later.
What you see: the agent’s own refusal in the Restricted pane, while a Trusted profile beside it works as before.
Give it the project folder it needs
A Restricted profile needs a real project folder: an existing folder that is not your Windows home folder. The box is anchored to that folder, the agent starts in it, and nothing in your home folder may be granted. Creating a Restricted profile, switching one to Restricted, or changing its project folder is refused without one.
- In the profile’s editor, with Restricted chosen and Project folder empty, the editor already warns: Restricted needs a real project folder.
- Type an existing folder that is not your home folder into Project folder. The warning goes as you type.
- Click Save changes.
The editor reads Editing Docs, the Name box, the Project folder box holding ~/work/docs, Capability set to Restricted (boxed to project folder), and Save changes. In the rail, Docs is marked · restricted. Where motion is allowed, a short rendered scene plays once and ends on this frame: the Project folder box starts empty and the editor warns that Restricted needs a real project folder; the folder is typed, the warning goes, Save changes is pressed, and · restricted appears in the rail.
What you see: · restricted in the rail once the profile saves. Edits that do not touch the box, such as the name, the color or the icon, still save on a Restricted profile at any time.
Lift the restriction
- Close the profile’s panes: its header’s close asks sure? first, and a second click closes the pane and stops its agent.
- In the profile’s editor, set Capability to Trusted (full access).
- Click Save changes. MaeVae removes exactly the rules it added and leaves your own.
The editor reads Editing Side project, the Name box, the Project folder box holding ~/work/side-project, Capability set to Trusted (full access), and Save changes. Side project carries no restricted mark in the rail and has no pane open; Client work's pane runs alone. Where motion is allowed, a short rendered scene plays once and ends on this frame: Side project is still Restricted with its pane open beside Client work; its pane's close asks sure? and a second click closes it; Capability is changed from Restricted to Trusted, Save changes is pressed, and the restricted mark leaves the rail.
What you see: no · restricted mark in the rail. The next pane of the profile runs with full access again.
Note. Saving the change with a pane of the profile still open is refused, with the message that the profile’s open panes must be closed first: the running agent is bound to the box it started with. Remove MaeVae from all config dirs, the step before uninstalling, also turns every Restricted profile back to Trusted (chapter 18).
Know where it stops
Restricted mode keeps an honest agent that loops or overreaches inside its folder. It is not a wall around hostile code: Codex can still read anywhere, a shell that Gemini runs can still read outside the folder, and a determined shell can work around a command deny. A Restricted Codex profile shows the difference best: it does not refuse a push, it asks, and your approval lets the push run.
- In a Restricted Codex profile’s pane, the agent tries
git push. - Codex stops and asks for your approval, because the push needs the network, which Restricted mode turned off for it; with the glow on, the pane lights amber.
- Answer deny to keep the box closed. Answer approve only when you mean the push to happen.
In made-up words, its terminal shows Committed the change, the command git push, and Codex's question: this needs network access, which is turned off for this profile; run it anyway?, with Yes, once highlighted and No under it. The pane has an amber ring and its header says waiting, with approve and deny; its light in the rail is amber. Where motion is allowed, a short rendered scene plays once and ends on this frame: the agent commits, tries git push, and Codex stops to ask.
What you see: the waiting pane, amber, with Codex’s own question. approve sends Enter, which picks the highlighted Yes, once, and the push runs; deny sends Esc to decline it.
Limit. Restricted mode works by a per-profile folder box and a deny list of command names, not by a sandbox. A deny list is a speed bump: a determined shell can reach the same binaries by another path. Every pane runs as the same Windows user, so the credential stores on the machine, such as git credential helpers, SSH keys and the tokens of hosting tools, are shared across panes. Treat it as a strong guardrail for cooperative agents, not as a security boundary against hostile code. A line sent with Broadcast reaches Restricted panes too.
Back to contentsIsolation, step by step
Read the badge and the report, seal a profile, approve what you installed, check every profile at once, keep Account sync blocked, and choose what happens when a pane opens.
Every profile is meant to be its own world: its own configuration folder, its own project folder, nothing inside it pointing outside, and nothing arriving without your click. MaeVae checks that, shows the result on a badge in every pane, and applies the fixes it can make safely.
Read the Isolation badge on a pane
- Find Isolation near the right end of a pane’s header, before review, the Redraw button and close.
- Read its dot: green is Isolated, amber is Drift, red is Breach and gray is Unchecked. On Drift and Breach the word takes the color too.
- Rest the pointer on the badge. Its tooltip names the state and says what it means, for example that Drift means something you never approved appeared, or a rule warned.
Client work and Docs run Claude Code, Side project runs Codex CLI and Research runs Gemini CLI. Each pane header carries the Isolation badge: a green dot for Client work, which is Isolated; an amber dot and an amber word for Side project, which is in Drift; a gray dot for Research, which is Unchecked; and a red dot and a red word for Docs, which is in Breach. Where motion is allowed, a short rendered scene plays once and ends on this frame: the four panes open one after another, each with its badge.
What you see: the word on the badge is always Isolation; the state is the dot. A plain shell pane has no badge, since it has nothing to isolate.
Note. A new profile starts with an empty approved set, so its badge reads Unchecked until you approve its current set (see Approve the current set).
Open the report
- Click Isolation in the pane’s header. The report opens over the whole pane, its header included.
- Read its first line: the state, when the profile was last checked, and how many items are in its approved set.
- To close it, click the close mark at the report’s top right. The pane comes back as it was, and its agent kept running underneath.
- The same report is in the profile editor: click ✎ (Edit profile) on the profile’s rail entry, go to the Isolation section and click Show report.
The left pane, Client work, shows its terminal. In the right pane's place stands the Isolation report of the profile Docs: Isolated, checked 3 min ago, approved set: 12 items; the faces Boundary, Reference leaks, Inbound channels and Drift each read PASS; under them are the buttons Check isolation, Seal profile, Approve current set and Copy. Where motion is allowed, a short rendered scene plays once and ends on this frame: the Docs pane is shown with its green Isolation badge, then the report opens in the pane's place.
What you see: four faces, each with its worst status at its head, then the four buttons Check isolation, Seal profile, Approve current set and Copy. A profile that was never checked shows a single line asking you to run Check isolation.
Note. Under each reason the report also prints the folder it concerns. The renderings in this guide leave that line out.
Read the four faces of the report
- Boundary asks whether the profile’s walls stand. Its configuration folder must be its own: not the agent’s shared login folder, not inside another profile’s folder, and not a link that leads somewhere else. Its project folder must be real and outside every configuration folder. The launch must pin the profile’s folder and clear other accounts’ credentials. A Restricted profile’s deny rules must be the ones MaeVae would write now, and the isolation contract must be present and current.
- Reference leaks asks whether anything inside the profile points outside it: plugin install paths, marketplace locations, MCP server commands, hook and status line commands, skills and extensions.
- Inbound channels asks whether anything can arrive without your click. Claude’s claude.ai sync and Codex’s ChatGPT plugin catalogue are closed by default. Gemini CLI, Qwen Code and Grok have no known account channel today, and the row says so plainly instead of passing.
- Drift compares the profile’s inventory (plugins, MCP servers, skills, hooks, extensions, connectors) with the set you approved.
- Read each row: its status (PASS, WARN, FAIL or INFO), the rule in small monospace, the reason in plain English and, where there is one, the fix Seal would apply.
The report reads Isolated, checked just now, approved set: 12 items. Each face shows one row, and all four read PASS: Boundary the contract row, the isolation contract is present and current; Reference leaks a settings.json row, 2 location(s) referenced, all inside the profile or MaeVae's own; Inbound channels the synced skills row, absent or empty; and Drift the approved set row, 12 item(s) present, all approved. Under them are Check isolation, Seal profile, Approve current set and Copy. Where motion is allowed, a short rendered scene plays once and ends on this frame: a frame moves from face to face, Boundary, Reference leaks, Inbound channels, then Drift.
What you see: each face’s head carries its worst status, so one WARN row makes the whole face read WARN. A face with nothing to check for this agent says so. The badge follows the rows: red if any row fails, gray while there is no approved set, amber if any row warns, and green otherwise.
Note. Copy puts the whole report on the clipboard as plain text. It is the most useful thing to paste into a message to support.
Seal a profile
Before you start: the report shows a row with a fix on offer, a WARN or FAIL with a line under its reason that begins “Seal”.
- Open the report: Isolation in the pane’s header, or the Isolation section of the profile editor.
- Click Seal profile.
- Read the result: MaeVae applied the safe fixes and checked again, and a short list under the faces says what it wrote.
The report reads Isolated, checked just now, approved set: 12 items. Boundary, Reference leaks, Inbound channels and Drift each show PASS. The contract row says the isolation contract is present and current, and a note under the faces says the isolation contract was written into the agent's instructions file. Under them are Check isolation, Seal profile, Approve current set and Copy. Where motion is allowed, a short rendered scene plays once and ends on this frame: the report starts at Drift with the contract row at WARN, Seal profile is pressed, and the row and the report turn green.
- the isolation contract was written into the agent's instructions file.
What Seal fixes: it writes the vendor’s channel keys (unless you allowed Account sync), switches synced entries off (the vendor then moves its synced folder aside itself at its next start), points a plugin entry at the profile’s own copy when a byte-identical copy is already inside the profile, and rewrites the isolation contract. Everything else is reported with what to do. Every write stays inside the profile’s own configuration folder, and the first change to a file leaves a backup copy beside it.
The contract: a short block in the agent’s own instructions file (CLAUDE.md for Claude, AGENTS.md for Codex, GEMINI.md for Gemini, QWEN.md for Qwen Code, a rules file for Grok, and a file aider is told to read) names the profile’s two folders and the rule that all work stays inside them, and that a permission you grant applies to that request only. MaeVae rewrites only what sits between its two markers, so your own instructions around the block are left as they are.
Limit. Seal does not approve anything. A plugin, skill or hook that appeared and is not in the approved set stays a Drift row until you approve it.
Approve the current set after you install something
Before you start: you installed something on purpose inside this profile, such as a plugin through the agent’s own install command.
- Open the report and click Check isolation. Opening a pane runs only the quick check, which leaves the inventory alone, so the full check is what finds a new plugin.
- Read the Drift face. The new item has a WARN row saying it is present but not in the approved set, and the badge reads Drift.
- If you meant to install it, click Approve current set. What is present now becomes the approved set, and the badge turns green.
- If you did not, remove the item with the agent’s own command and click Check isolation again.
The report reads Isolated, checked just now, approved set: 13 items. Its Drift face reads PASS: 13 item(s) present, all approved. Under the faces are Check isolation, Seal profile, Approve current set and Copy. Where motion is allowed, a short rendered scene plays once and ends on this frame: Check isolation is pressed, a Drift row appears for the plugin docs-helper@local, which is present but not in the approved set, and the report turns amber; Approve current set is pressed and the report turns green with 13 items approved.
What you see: the Drift face’s WARN row names the item. After Approve current set the row reads PASS, the approved set counts one item more, and the badge in the pane’s header turns green once you close the report.
Limit. Approve current set blesses everything present at that moment, so read the Drift rows before you click. A row for something that was approved and is no longer present reads INFO.
Check every profile at once
- Click Quick settings at the foot of the rail.
- In its Isolation part, click Check all profiles. While it works the button reads “checking…”.
- Read the line under it, for example “4 profiles: 3 isolated · 1 drift”, and the table: each profile with its state and its count of FAIL and WARN rows, the worst first.
- Click a profile’s name in the table to open its editor at its report.
Above it the rail lists Client work and Docs under Claude Code, Side project under Codex CLI and Research under Gemini CLI. Quick settings shows the buttons + Add profile and + Add agent, then its Isolation part: the ticked check box Quick isolation check when a pane opens (global default), On a breach set to Badge only, the button Check all profiles, the line 4 profiles: 3 isolated · 1 drift, and a table of Profile, State, fail and warn with Side project in Drift with one warn first, then Client work, Docs and Research, Isolated. Where motion is allowed, a short rendered scene plays once and ends on this frame: Check all profiles is pressed, reads checking, and the summary and the table appear.
What it does: every profile’s own check first, then the one question MaeVae asks across profiles: does a plugin path, marketplace location, hook or MCP command in one profile point into another profile’s configuration folder? A hit is a Breach on the profile that points; fix it there with Seal. Each profile is checked inside its own walls, never through a sibling’s credentials, sessions or history.
Keep Account sync blocked, or allow it
Before you start: a Claude Code or Codex CLI profile. These are the agents with a known account channel.
- Click ✎ on the profile’s rail entry to open its editor.
- In the Isolation section, find the Account sync button: “Account sync (claude.ai sync): Blocked” for Claude, “Account sync (ChatGPT plugin catalogue): Blocked” for Codex.
- Click it to switch between Blocked and Allowed.
The editor shows Name Docs, Account label me@example.com, Project folder ~/work/docs, then its Isolation section: the green dot, Isolated, checked just now, Show report; the buttons Check isolation, Seal profile and Approve current set; and the button Account sync (claude.ai sync): Blocked. Where motion is allowed, a short rendered scene plays once and ends on this frame: the Account sync button is pressed and reads Allowed, then is pressed again and reads Blocked.
What each means: Blocked keeps the vendor’s account channel closed for this profile. MaeVae writes the channel keys when the profile is created, writes them again at every MaeVae start, and Seal restores them. Allowed leaves the channel to the vendor: the keys are not written, and the Inbound rows read “allowed by you”. Switching back to Blocked seals the profile at once.
Note. Gemini CLI, Qwen Code and Grok have no known account channel today. Their editor says so in place of the button, and their Inbound rows say the same.
Choose what happens when a pane opens
- For every profile, open Quick settings and go to Isolation. Quick isolation check when a pane opens (global default) is ticked out of the box; it runs the Boundary and Inbound rules and the contract row and refreshes the badge, well within the time a pane takes to start.
- Set On a breach: Badge only (the pane opens and its badge turns red) or Refuse the launch (the pane does not open; the report opens in its place, with Seal and Approve on offer).
- For one profile, open its editor and tick Custom launch preferences for this profile in the Isolation section. Its own two choices appear: Run the quick check when a pane opens and On a breach. Untick the box and the profile follows the global defaults again.
The editor's Isolation section shows the ticked check box Custom launch preferences for this profile (the global defaults: quick check on, on a breach badge only), and under it the ticked check box Run the quick check when a pane opens and the drop-down On a breach set to Refuse the launch. Where motion is allowed, a short rendered scene plays once and ends on this frame: the custom check box is ticked, the two preferences appear, and On a breach changes from Badge only to Refuse the launch.
What happens on its own: at every MaeVae start, the channel keys are written again for every profile whose Account sync is Blocked, and a contract that went out of date is refreshed. A new profile is sealed when it is created, with an empty approved set. None of this writes into the agents’ shared login folders.
After a refused launch: once Seal or an approval has cleared the breach, close the pane and open the profile again.
Limit. The check reads the files and channels MaeVae knows for the agent versions it was measured against. A vendor can add a new channel between its releases, and an Inbound row is only as current as that measurement.
Back to contentsThe HUD and the usage dashboard
Read the figures each agent reports, in its pane and in the usage dashboard, turn the HUD on for a Claude profile, get a warning before a limit, and find out why a figure is missing.
Each pane can show what its agent reports about itself: the model, the cost, the tokens, the quota and the context, as far as that agent writes them down.
Read the figures in a pane
Before you start: for a Claude profile, the HUD is on (see Turn the HUD on for a Claude profile). Codex CLI, Gemini CLI, Qwen Code, Grok CLI and aider panes fill it out of the box, from files the agent writes itself as it works.
- Read the pane’s header. After the agent’s label it shows the model in a frame, the cost (for example $1.86), the tokens (Σ 184.0k), the 5-hour and weekly quota (5h 31%, wk 46%) and the context gauge with its percent. A figure the agent does not report is simply left out of the header.
- For a strip under every pane, open Quick settings, go to HUD & sound and tick Chrome HUD. Tick Place it above the terminal (else below) if you want it on top.
- Read the strip: the state word (working, waiting, done or idle), the profile’s name and the agent, then Model:, Ctx Used: and Up: (how long the pane has been open). That is the strip as it comes; Customize chrome strip… adds Cost:, Total:, Weekly:, Context: with its gauge, and more.
- Watch the context gauge: it turns amber above 65 percent and red above 85.
Client work runs Claude Code: opus, $1.86, Σ 184.0k, 5h 31%, wk 46% and a context gauge at 41%; its strip reads working, Client work, Claude Code, Model: opus, Cost: $1.86, Total: 184.0k, Weekly: 46.0%, Context: 82.0k/200.0k (41%), Up: 42m. Side project runs Codex CLI: codex, Σ 96.4k, 5h 12%, wk 38% and a gauge at 22%, without a cost in its header; its strip reads Cost: n/a, Total: 96.4k, Weekly: 38.0%, Context: 61.0k/272.0k (22%), Up: 18m. Both strips are customized here to show Cost, Total, Weekly and Context. Where motion is allowed, a short rendered scene plays once and ends on this frame: the figures count up to their values.
What you see: the header and the strip show the same figures. The strip names each one (Model:, Cost:, Total:), and a figure the agent does not report is grayed out, with a dash in its place; the renderings in this guide write n/a instead. The strips rendered here are customized to show Cost:, Total:, Weekly: and Context:; as it comes, the strip shows Model:, Ctx Used: and Up:.
Note. The quota figures of a Claude profile are read with that profile’s own sign-in from Claude’s usage endpoint, which is not an official one. They are kept for about a minute and simply stay away if the call fails.
Open the usage dashboard
- Click usage in the top bar. Usage & cost in Quick settings and Usage & cost dashboard in the command palette (Ctrl+K) open the same panel.
- Read one row per profile: Profile (with “live” while a pane is open), Model, Cost, Σ tok, In / Out / Cached, Ctx, Weekly, 5h, ±lines, Updated and Rotation.
- Read the last row: the total cost and tokens, and how many profiles are live.
- Close it with ✕ or Esc.
The panel's table lists Profile, Model, Cost, Σ tok, Ctx, Weekly and 5h: Client work, live, opus, $1.86, 184.0k, 41%, 46%, 31%; Side project, live, codex, n/a for cost, 96.4k, 22%, 38%, 12%; Research, live, gemini-pro, n/a for cost, 52.0k, 18%, n/a, n/a; Docs, sonnet, $0.42, 31.5k, 12%, 9%, 4%; and the total, 3 live, $2.28 and 363.9k. Under the table: Current or most recent session per profile. Where motion is allowed, a short rendered scene plays once and ends on this frame: the panel opens over the window and its figures count up.
What you see: the current or most recent session of each profile. Weekly and 5h carry a countdown to their reset; a cell turns amber near the limit and red at it. Every figure is measured from the agents’ own files on disk. It is not a bill.
Note. Claude accounts that share a Rotation group (a field in the profile editor) form a pool. When one reaches its limit, its row offers Rotate → to the account in the group with the most room left.
Turn the HUD on for a Claude profile
- Rest the pointer on the profile’s entry in the rail. Its small buttons appear at the right: the grip, ✎, hud and ✕.
- Click hud. MaeVae registers itself as that profile’s status line and attention hooks, merged into the profile’s own settings, without overwriting anything you added there.
- Open the profile’s pane, or close it and open it again. Claude’s own status line at the foot of the terminal now shows the model, the cost, the session time, the lines changed, the tokens, the 5-hour and weekly quota with their reset countdowns, and a context gauge. The pane’s header mirrors it.
- To turn it off, click hud again.
The pane header shows sonnet, $0.42, Σ 31.5k, 5h 4%, wk 9% and a context gauge at 12%. At the foot of the terminal, Claude's status line reads Model: sonnet, Cost: $0.42, Session: 18m, Total: 31.5k, Weekly: 9.0%, Context: 24.0k/200.0k (12%). Where motion is allowed, a short rendered scene plays once and ends on this frame: the rail entry's hud button appears and is clicked, then the pane's header figures and the status line appear.
What you see: the hud button stays lit while the HUD is on. The same click turns on the profile’s attention hooks (the rail light, the approvals and the chime); the editor’s Attention hooks button turns those off on their own, and the HUD keeps working.
Note. A profile that uses the same login folder as your everyday claude asks for two clicks (the button reads “sure?” first), because turning the HUD on there also changes plain claude.
Get a warning before a limit
At launch: this task is part of the Microsoft Store version of MaeVae.
- Open Quick settings and find Quota warnings.
- Set Warn at to a percent; it starts at 85. MaeVae warns once when any quota window a profile reports, the session one or the weekly one, reaches it.
- Tick Tell me when a spent quota renews for a notice when a window that reached 100 percent can be used again. It is off at first.
- For one profile, click ✎ on its rail entry and set Quota warning at %. At 0 the profile follows the line in Quick settings.
- With a percent of its own, the profile also offers Hard stop: tick it to block new agents of that profile once its weekly quota reaches that percent. Its own Tell me when a spent quota renews follows Quick settings, or is set on or off.
- In the profile’s editor, click Save changes. The two Quick settings take effect as you change them.
What you see: one warning for each quota window as it reaches the line. A profile’s own line is also its weekly limit: at that percent the usage dashboard shows its weekly figure in red. The figures are measured quota use, not billed dollars.
Limit. A warning needs a quota figure, so it works only for an agent that reports one (see What each agent reports, below).
Find out why a figure is missing
- Find the grayed figure. In the strip and the usage dashboard the app shows a dash in its place (the renderings in this guide write n/a); in the header it is left out.
- Rest the pointer on it. Its tooltip gives one of three reasons:
- “This agent reports no figure for this chip”: the vendor’s gap, not a fault.
- “No fresh telemetry from this pane yet”: the agent wrote nothing in the last three minutes. This is a pane before its first prompt, or one idle since.
- “No data source for this vendor yet”: a plain shell or a local-model pane, which MaeVae reads nothing for.
- If the whole strip is gray, send the agent a prompt: the figures fill in after it, unless the pane is a plain shell or a local-model pane.
Side project runs Codex CLI: after the request Find the slow test its strip reads working, Model: codex, Cost: n/a, Total: 12.6k, Weekly: 38.0%, Ctx Used: 4.6%, Up: 2m. Research runs Gemini CLI: its strip reads Model: gemini-pro, Cost: n/a, Total: 52.0k, Weekly: n/a, Ctx Used: 18.0%, Up: 25m. Where motion is allowed, a short rendered scene plays once and ends on this frame: Side project's strip starts idle with every figure at n/a, a request is typed, and the figures fill in except Cost, which Codex does not report.
Claude Code reports every figure; Codex, Gemini CLI, Qwen Code, Grok and aider each leave out some of the cost, the quota and the context gauge. What each agent reports, side by side, on MaeVae and the AI vendors.
Back to contentsA second account of one agent
Add a second account to a Claude profile, switch between its accounts, and know where the switcher works and where it does not.
One Claude profile can hold more than one saved login, so the same project folder can run under another account without a second profile.
Add a second account to a Claude profile
Before you start: a Claude Code profile that signs in with its login (Authentication: Sign in, in the pane). The switcher is opt-in, and it keeps a copy of each saved login token in MaeVae’s data folder.
- Click ✎ on the profile’s rail entry. Its Account box says “signed in as” and names the current account.
- Click Save this login, so the current account is kept.
- Click Add another account. It asks for a second click (“Click again”); click it. MaeVae saves the current login, closes the profile’s panes, signs the profile out, and opens a fresh pane.
- Sign in inside that pane as the other account, in the agent’s own login.
- Back in the editor, click Save this login again. Both accounts are listed now, the one in use marked “· active”.
The Account box says signed in as me@example.com and lists two saved accounts: work@example.com with a Switch button, and me@example.com, active. Under them are Save this login, Add another account and Sign out, and the link Use me@example.com as the label. Where motion is allowed, a short rendered scene plays once and ends on this frame: Add another account asks for a second click, the profile is signed out and its pane reopens, the new account signs in, and Save this login adds it to the list.
What you see: both saved accounts in the Account box. When the signed-in account no longer matches the profile’s Account label, the editor offers Use “…” as the label.
Switch between saved accounts
- Click ✎ on the profile’s rail entry.
- Click Switch beside the account you want. With a pane open it asks “Restart pane?”; click it again.
- MaeVae saves the current login first, closes the profile’s panes, puts the saved login back and reopens the pane, with no new sign-in.
The Account box says signed in as work@example.com and lists me@example.com with a Switch button and work@example.com, active. Where motion is allowed, a short rendered scene plays once and ends on this frame: Switch beside work@example.com is clicked, asks Restart pane?, is clicked again, and the active account changes from me@example.com to work@example.com while the pane restarts.
What you see: the chosen account reads “· active”, and the Account box says it is signed in. Only the login changes: the project folder, the quota warning (chapter 10) and the restrictions stay as they were.
Note. With no pane open, Switch acts on the first click. If the agent does not start by itself in the reopened pane, start it there to run as the new account.
Know where the switcher works, and where it does not
- Open the profile’s editor and look at its Account box. Where the switcher is not offered, a note in its place says why.
- For a Claude profile in API-key mode with a key saved, the panes use that key and never read a swapped login, so the switcher is not offered. Set Authentication back to Sign in, or remove the saved key, to use saved accounts.
- For a Codex CLI, Gemini CLI, Qwen Code or Grok CLI profile, the note says saved accounts are a Claude Code feature. Sign out still clears the profile’s stored login, so its next launch signs in fresh. An aider profile has no login at all: you change its account by replacing its key.
The Account box carries the note: This profile runs in API-key mode with a key saved, so its panes use that key and never read a swapped login. Switch it to OAuth mode (or remove the saved key) to use saved accounts. Under it is Sign out. Further down, Authentication is set to API key, the API key box shows a hidden saved key, and Save changes is at the foot. Where motion is allowed, a short rendered scene plays once and ends on this frame: Authentication changes from Sign in to API key, a key is typed, Save changes is pressed, and the list of saved accounts gives way to the note.
Refused while a pane is open: Sign out, a change of the profile’s configuration folder, a switch between Trusted and Restricted, a change to a Restricted profile’s project folder, a change to a Codex profile’s local endpoint, Remove MaeVae integration and Delete. Close the profile’s panes first: a running agent refreshes its token and would write the old login straight back.
Removing a saved account (its ✕, then “sure?”) deletes that stored login token for good. The live pane and the profile’s current login are not touched.
Limit. MaeVae guards only the panes it opened itself. An agent started from a Windows Terminal tab or a launcher, or a pane still starting, is not counted. When MaeVae sees recent activity from such a session, it warns you and asks you to confirm once more; it cannot stop that session, so close it yourself first.
Let an idle pane switch accounts at the rate limit
Before you start: two or more Claude Code profiles, each signed in to its own account and with its HUD switched on, with the same Rotation group in their editors.
- In Quick settings, tick Auto-rotate at rate limit. It is off until you tick it. Switch at 5h usage then sets the five-hour use, from 50 to 100 percent and 100 to start with, at which an account counts as at its limit; the weekly window counts at the profile’s own quota warning, or else at 100 percent.
What you see: when a profile in the group reaches its limit while its one pane is idle or finished, MaeVae opens the profile in the group with the most room left if it is not open yet, closes the spent profile’s pane and says which profile it switched to. A pane that is working or waiting for your approval is never switched, and neither is a profile open in more than one pane.
Back to contentsOther models
Point a profile at another model server, list the models it offers, save a key, set up Groq, OpenRouter or a server of your own, and tell Grok from Groq.
Codex CLI, aider, Qwen Code and Grok CLI can talk to another model server through a profile’s endpoint: a cloud provider such as Groq or OpenRouter, or a server on your own computer.
Point a profile at another model server
Before you start: a Qwen Code, aider or Grok CLI profile, which have the Endpoint field, or a Codex CLI profile, which has its own Model endpoint box (see Use a model server on your own computer). Grok CLI has an Endpoint but no Model field and no List models.
- Click ✎ on the profile’s rail entry.
- Under Endpoint (local model, cloud provider or custom), pick a preset: Agent default (its own cloud), Ollama, LM Studio, llama.cpp, vLLM, LiteLLM proxy, Groq (cloud), OpenRouter (cloud) or Custom… The box under it takes the preset’s address, or any OpenAI-compatible address you type.
- Or, at launch, in the Microsoft Store version: paste a key or a server’s address into the box at the top of the Endpoint section, Paste a key or a URL (Codex’s Model endpoint box has one too). MaeVae fills the fields below from it at once (typed text fills them on Enter), says in a gray line under the box what it did, and may list the server’s models as List models would. The box then empties, so a key never stays on screen.
- Fill Model with an id the server offers (the next task lists them for you; Grok CLI has no Model field). Qwen Code uses an endpoint only when the key, the endpoint and the model are all set; with the Model blank it shows its own
/authpicker instead, and the editor warns you in amber. - Click Save changes. The next pane of this profile uses that endpoint and model; the model is also given to its launcher and tab.
The editor shows Authentication set to API key with a hidden saved key, the Endpoint field with the preset Ollama and the address http://localhost:11434/v1, the preset's note to pull the model first, the Model qwen2.5-coder, and Save changes. Where motion is allowed, a short rendered scene plays once and ends on this frame: the preset changes from Agent default to Ollama and fills the address, the model is typed, and Save changes is pressed.
What you see: under the address, the preset’s own note (for Ollama: pull the model first). The pane uses the endpoint the next time it opens.
Note. A model picked with /model inside a Qwen pane is stored by Qwen and would win over the Model field, so each time a pane opens MaeVae sets it back to the profile’s Model when the two differ, and says so in a pane line.
List the models a server offers
- With an endpoint set, click List models under the Model field (or under a Codex profile’s model box). Nothing is asked of the server until you click, or, at launch, until you paste an address into the Endpoint section’s Paste a key or a URL box.
- MaeVae’s core sends one request to that endpoint, with the profile’s saved key or the key typed in the box, and to nowhere else.
- Type in search ids to narrow the list; the count beside it says how many match.
- Pick one with a click, or with the arrow keys and Enter. It fills the Model field (aider’s as openai/ and the id). Enter in the list never saves the profile, and the field stays yours to edit.
Under the Endpoint http://localhost:11434/v1, the Model field reads qwen2.5-coder. Below it the List models button and the count 4 of 4, then the list of the server's models with a search box reading search ids: llama3.1, mistral, qwen2.5-coder, highlighted, and qwen3, and the note: Pick one (click, or arrow keys + Enter) to fill the field; the field stays yours to edit. Where motion is allowed, a short rendered scene plays once and ends on this frame: List models is pressed and reads Listing, the list appears, and a pick fills the Model field.
If it fails: an amber note under the button says what went wrong: the endpoint refused the key (401 or 403), wants a key (set API-key mode and save one first), has no /models (404: check the address; most servers want it to end in /v1), or cannot be reached.
Save an API key for a profile
Before you start: an agent that takes a key. Claude Code, Codex CLI, Gemini CLI, Qwen Code and Grok CLI offer a choice of sign-in or key; for aider the key is the account.
- Click ✎ on the profile’s rail entry.
- Set Authentication to API key. (An aider profile has no choice to make: it shows the API key box straight away.)
- Paste the key into API key.
- Click Save changes.
Authentication is set to API key; the API key box holds a hidden key; under it the note says the key is stored in the Windows Credential Manager, never in a file, and injected as OPENAI_API_KEY into this profile's pane only, with the link Remove saved key; Save changes is at the foot. Where motion is allowed, a short rendered scene plays once and ends on this frame: Authentication changes from Sign in to API key, the key box appears and a key is pasted, Save changes is pressed, and Remove saved key appears.
What you see: the key box shows that a key is saved, and Remove saved key appears under it. The key is stored in the Windows Credential Manager, never in a file, and handed to this profile’s panes only.
Note. A launcher or Windows Terminal tab of a profile in API-key mode carries no key; it falls back to whatever login the profile’s folder holds. Use the pane for such a profile, since the pane brings the saved key. aider is the exception: its launcher reads the key when it starts (see Give aider a launcher).
Use a Groq account
Before you start: a Groq account and a key from Groq’s console, and a Qwen Code, aider or Codex CLI profile. Groq (groq.com) is an inference cloud; it is not xAI’s Grok.
- Set Authentication to API key and paste your Groq key.
- Pick the endpoint preset Groq (cloud). The editor reminds you to use API-key mode with your own key and names the page where Groq issues it.
- Fill Model: the editor offers the preset’s example id as a one-click “use” link, or click List models and pick one.
- Click Save changes.
Authentication is API key with a hidden key; the Endpoint preset is Groq (cloud) with the address https://api.groq.com/openai/v1 and the note: Set this profile to API-key mode above and paste your own Groq key (from https://console.groq.com/keys); the Model reads llama-3.3-70b-versatile; Save changes is at the foot. Where motion is allowed, a short rendered scene plays once and ends on this frame: the preset changes to Groq (cloud), the address and the note appear, the model is filled, and Save changes is pressed.
What you see: the next pane of this profile talks to Groq with your API key and the model you set.
Use OpenRouter
Before you start: an OpenRouter key, and a Qwen Code, aider or Codex CLI profile. One OpenRouter key reaches models from many vendors.
- Save your OpenRouter key in the profile (API-key mode, or the API key box of an aider profile).
- Pick the endpoint preset OpenRouter (cloud).
- Click List models, search the ids, and pick one, for example qwen/qwen3-coder. For aider the field takes it as openai/qwen/qwen3-coder, since aider names an OpenAI-compatible route openai/ and the id; Qwen Code takes the id as listed.
- Click Save changes.
The API key box holds a hidden key; the Endpoint preset is OpenRouter (cloud) with the address https://openrouter.ai/api/v1; the Model reads openai/qwen/qwen3-coder, with the note that aider names an OpenAI-compatible route openai/ and the model id; under it the List models button and the list with qwen/qwen3-coder highlighted. Where motion is allowed, a short rendered scene plays once and ends on this frame: the preset changes to OpenRouter (cloud), List models fills the list, and the pick fills the Model field with the openai/ prefix.
What you see: the model id in aider’s form. The figures of an aider pane come from aider’s own chat history, and aider prints a cost only for a model whose rates it knows.
Use a model server on your own computer
Before you start: the server runs and has a model ready: for Ollama, pull the model first; for LM Studio, load a model in its local server tab.
- For Qwen Code or aider, pick the server’s preset under Endpoint: Ollama, LM Studio, llama.cpp, vLLM or LiteLLM proxy. The address is filled for you. Local servers take a throwaway key, and the editor offers a one-click “use API-key mode with” the placeholder that server expects.
- For Codex CLI, find Model endpoint (Codex) and tick Route this profile to a local, cloud or custom model server. Pick a preset (or type a base address) and fill the model the server offers.
- Click List models to check the server answers, then Save changes.
Under Model endpoint (Codex), the check box Route this profile to a local, cloud or custom model server is ticked; the preset reads Ollama, the base address http://localhost:11434/v1 and the model llama3.1; under them List models, and Save changes at the foot. Where motion is allowed, a short rendered scene plays once and ends on this frame: the check box is ticked, the preset Ollama fills the address, the model is typed, and Save changes is pressed.
What MaeVae writes for Codex: Codex does not read an endpoint from the environment, so MaeVae writes a model provider block into this profile’s own Codex configuration, never the shared one. Ticking the box switches the profile’s model to the endpoint; unticking it returns Codex to its default. A keyless local server such as Ollama or LM Studio needs no key; for a server that does, set the profile to API-key mode and save the key.
Limit. A change to a Codex profile’s local endpoint is refused while the profile has a pane open. Qwen Code shows no context gauge for a model set through the Model field, since Qwen does not know that model’s window.
Run Grok, xAI’s agent
- Click + Add profile and pick Grok CLI as the Agent.
- Click Next. Step 2 says the agent gets its own isolated folder and that you sign in on first launch, or add an API key in the editor.
- Finish the steps, and in the new pane run
grokand sign in, or set an xAI API key in the profile’s editor.
The panel says: This agent gets its own isolated config dir; sign in (or add an API key in the editor) on first launch. Under it the Account label box with its hint you@example.com (optional), and the note that the label is checked against the folder's real login. The buttons are Advanced (all fields), Back and Next. Where motion is allowed, a short rendered scene plays once and ends on this frame: at Step 1 of 3 the Agent changes from Claude Code to Grok CLI, Next is pressed, and the panel moves to Step 2.
What you see: the new profile under a Grok CLI heading in the rail. Each Grok profile has its own home folder, which holds its login and its MCP tokens, so Sign out clears that one profile only.
Note. Grok here is xAI’s Grok, not Groq. For a Groq account, use the Groq preset on a Qwen Code, aider or Codex CLI profile (see Use a Groq account).
Note. Every Grok pane, launcher and tab runs with Grok’s Claude, Cursor and Codex compatibility switched off, so your Claude skills, commands and permission rules stay out of it. Grok still finds the plugins installed for Claude and has no setting to stop that; grok inspect in the pane lists what it picked up.
Backups
Make a backup, choose what goes in, restore one, and move MaeVae to another computer.
A backup is a zip, or a plain folder, of MaeVae’s own data: your profiles, settings and layouts, and, only if you tick them, your logins, your usage history and your API keys.
Make a backup
- Open Quick settings and click Backup & restore…. The MaeVae Backup panel opens on its Back up tab.
- In Backup folder, keep or type a folder outside MaeVae’s data folder, such as a USB drive or a synced folder. MaeVae refuses a folder inside its own data folder.
- Under What to include, tick what you want (see the next task). Save as a single .zip is ticked out of the box; untick it for a plain folder you can browse.
- Click Back up now. A progress line names the phase while it runs.
The panel shows the Backup folder box with its hint ~/MaeVae-Backups and the note: Pick a folder OUTSIDE MaeVae's data folder (a USB drive, a synced folder, …). Under What to include, Save as a single .zip is ticked and Include account logins, Include usage history and Include API keys are not. At the foot are Close and Back up now. Where motion is allowed, a short rendered scene plays once and ends on this frame: Back up now is pressed and reads Backing up, a progress line reads Writing the backup, then the panel rests again.
What you see: when it ends, the panel says where the backup was saved, and a short message counts the files and their size. A file that vanishes during the run is skipped and listed, rather than stopping the backup.
Limit. There is no cancel once a backup starts, so a large backup of the logins’ folders runs to its end.
Choose what the backup includes
- Leave the boxes as they are for the essentials. Always included: your profiles and their settings, your agent definitions, the app settings, the global HUD layouts and each profile’s own status line, the layout of your panes, and the Windows Terminal tab icons you picked.
- Tick Include account logins to carry the sign-ins with you: the profiles’ own configuration folders and the account switcher’s saved logins, every saved account and not only the active one.
- Tick Include usage history for the HUD’s history, which rebuilds itself anyway.
- Tick Include API keys to take the keys out of the Windows Credential Manager and into the backup.
Under What to include, all four boxes are ticked: Save as a single .zip, Include account logins, Include usage history and Include API keys. Under the logins box a note says both hold live sign-in tokens, so the backup will contain real credentials; under the API keys box a note says API keys are written into the backup in plain form. Where motion is allowed, a short rendered scene plays once and ends on this frame: the three boxes are ticked one after another and the two notes appear.
What you see: a warning under each box that adds a secret. With logins or keys inside, the backup holds real credentials: keep it somewhere safe, and consider encrypting it yourself. Without the keys box, the panel lists the profiles whose API keys a file backup cannot capture.
Never included: live process state, half-written temporary files, and the agents’ own shared login folders, which are yours and not MaeVae’s.
Restore a backup
- Open Quick settings, click Backup & restore…, and choose the Restore tab.
- Point Backup folder at the folder that holds your backups. The list shows each one with its kind, its size, and whether it holds logins or API keys.
- Pick one, then set Restore options: Restore account logins (ticked out of the box), Restore API keys (only onto profiles that exist here), and Overwrite existing files (left off, it keeps what is already here).
- Click Restore selected.
Two backups are listed, the first chosen: zip, 4.2 MB, 2 config dirs. Under Restore options, Restore account logins is ticked, and Restore API keys and Overwrite existing files are not. Under them: Restored 214 files, 2 config dirs. The foot reads Nothing at the source is changed, with Close and Restore selected. Where motion is allowed, a short rendered scene plays once and ends on this frame: the first backup is chosen, Restore selected is pressed and reads Restoring, and the result line appears.
What happens: each restored profile is pointed at this computer’s MaeVae data folder, even when the backup came from another Windows user. Sign-in files are replaced only as a set, the token and the account identity together. Launchers and Windows Terminal tabs that already exist are refreshed; no new ones are made. With Overwrite on, your current profile list and settings are copied aside first.
Move MaeVae to another computer
- On the old computer, make a backup with Include account logins ticked (and Include API keys if your profiles use keys), into a folder you can carry or that syncs.
- On the new computer, install MaeVae from the Microsoft Store (see Install from the Microsoft Store) and install the agent tools you use (see What you need).
- Open Quick settings, click Backup & restore…, choose Restore, point it at the backup and click Restore selected.
- If you use launchers or Windows Terminal tabs, re-create them from each profile’s editor: a restore refreshes only those that already exist on this computer.
What you see: the profiles in the rail, each pointed at the new computer’s data folder. Sign in again only where you left the logins out.
Limit. API keys are restored only for profiles that exist on this computer, and a backup without Include API keys holds none: enter those keys again in each profile’s editor.
Back to contentsUpdate an agent from inside MaeVae
Update an agent’s command-line tool from Quick settings, install a missing one, and read what the update came to.
MaeVae runs each agent’s own updater for you, one at a time, and says what came of it.
Update one agent
- Open Quick settings. Under Update agents there is one button per agent: its name when it is installed, “Install” and its name when it is missing.
- Click the agent’s button, for example Gemini CLI. While it runs the button says it is updating, and a Stop button appears.
- Watch the notice at the bottom right: “Working” and “Updating Gemini CLI…” until the run ends, then the result.
- Update all installed runs every installed agent’s updater in turn.
Under Update agents are Update all installed and one button per agent: Claude Code, Codex CLI, Gemini CLI, Install Qwen Code, aider and Grok CLI, and the line Missing: Qwen Code. At the window's lower right a notice reads Done: Gemini CLI updated, with Dismiss. Where motion is allowed, a short rendered scene plays once and ends on this frame: the Gemini CLI button is pressed and reads updating, a Stop button and a Working notice appear, then the notice turns to Done.
What you see: the notice’s tag and one headline per agent. The real headline also names the version before and after; the rendering leaves the numbers out.
Note. Only one update runs at a time, and each gets five minutes before MaeVae stops it and ends its process. Stop ends a run at once, and a stopped run never marks a healthy agent as broken.
See what a button runs, or install a missing agent
- In Quick settings, under Update agents, rest the pointer on an agent’s button: its tooltip shows the exact command, beginning “Run:”.
- For a missing agent, click Install and its name: it runs that agent’s install command. Missing: lists the agents that are not on your PATH. At launch, in the Microsoft Store version, Grok CLI is the exception: its Install shows its command with Copy, for you to run in PowerShell yourself.
- If the agent still does not show as installed, restart MaeVae: a program installed into a new folder is seen only after a restart.
Under Update agents, the buttons read Claude Code, Codex CLI, Gemini CLI, Qwen Code, aider and Grok CLI. At the window's lower right a notice reads Done: Qwen Code installed, with Dismiss. Where motion is allowed, a short rendered scene plays once and ends on this frame: Install Qwen Code is pressed and reads installing, a Working notice appears, then the notice says Done, the button becomes Qwen Code and the line Missing: Qwen Code goes.
What each button runs: the agent’s own updater. Claude Code runs claude update; Codex CLI, Gemini CLI and Qwen Code run npm install -g with their own package; aider runs uv tool upgrade aider-chat; Grok CLI runs grok update. A version check runs around each update, and every run starts in a working folder of its own.
aider: before it runs anything, MaeVae checks that uv is on its PATH and owns the aider it would update. If not (aider installed with pip or pipx, for example), the notice says which as a Warning and nothing runs.
Grok CLI: its own update check is switched off inside MaeVae’s panes (it would install into the profile’s folder), so this button is the way to update Grok. A grok update typed in a pane still works too.
Read what an update came to
- Read the notice’s tag: Done (it went through), Warning (it went through with something to read, or nothing ran and the headline says why) or Error (it failed, was stopped or timed out, or the agent no longer reports its version).
- Click Details to read the command’s own output.
- A Done notice goes away by itself after a few seconds. A Warning or an Error stays until you click Dismiss, or until the next notice takes its place.
The notice reads Gemini CLI updated. npm notice: the install scripts of 1 package are not on npm's allow list (allowScripts). Under the headline, Details is open and shows two lines of the command's output: npm warn install-scripts 1 package has install scripts not yet covered by allowScripts, and changed 12 packages in 9s. The notice has a Dismiss button. Where motion is allowed, a short rendered scene plays once and ends on this frame: the notice appears, Details is pressed, and the output opens.
What you see: one headline per agent, the tag beside it in words, so the color is never the only sign. The headline in the rendering is shortened; the app’s own continues with a pointer to the details.
Note. Gemini CLI and Qwen Code each ship one small native module built by an install script, and their update commands allow exactly that one script, so the updates keep working if npm starts blocking unreviewed scripts. A first Install keeps npm’s default, so it may show npm’s notice about them as a Warning.
If an agent no longer starts after an update, reinstall it with its own install command (see An agent broken by its own update).
Back to contentsWindows Terminal tabs and launchers
Write a launcher and a Windows Terminal tab for a profile, make one along with a new profile, keep old ones current, and set up aider’s.
A profile can also start outside the MaeVae window, from a launcher file or a Windows Terminal tab, with the same isolated account.
Write a launcher and a Windows Terminal tab
Before you start: a profile that runs an agent (a plain shell has no launcher).
- Click ✎ on the profile’s rail entry.
- Click Create / update CLI launcher (pinned WT tab). MaeVae saves the profile and writes a .cmd launcher beside the profile’s own folder. When Windows Terminal is installed, it also adds a Windows Terminal profile, so the tab shows this profile’s name and stays pinned to it.
- To give the tab its own icon, set Project icon in the editor (Browse… picks an image, which MaeVae copies in when you save), then click Save changes.
- Open Windows Terminal and pick the profile’s name from its drop-down, or run the .cmd from any terminal. The same isolated agent starts in that console.
What you see: no note under the button once the launcher is current. Both the launcher and the tab use the profile’s launch command (for example claude --continue).
Note. The launcher opens its tab by the tab’s own id, so two profiles with the same name under different agents never collide. MaeVae edits only its own entry in Windows Terminal’s settings and keeps the rest of that file, your comments included. An older tab of the same name that MaeVae made is taken over and rewritten in place rather than duplicated.
Make a launcher when you create a profile
- Click + Add profile and go through the steps to step 3, Project (see Make your first profile).
- Leave Also make a CLI launcher ticked, as it starts.
- Click Create & open. The launcher and its tab are written along with the new profile.
The panel shows the Project folder ~/work/side-project, Capability Trusted (full access), the ticked check box Also make a CLI launcher, the note that the first launch runs the agent's one-time setup in the pane, and the buttons Advanced (all fields), Back and Create & open. Where motion is allowed, a short rendered scene plays once and ends on this frame: the launcher check box stays ticked, as it starts, and Create & open is pressed.
What you see: the new profile’s pane opens as usual. The launcher sits beside the profile’s folder, and its tab is in Windows Terminal’s drop-down under the profile’s name.
Know what a launcher clears, and update an old one
- Open Quick settings. If any launcher or tab differs from what MaeVae would write now, a Launchers part appears and names them.
- Read the line: it says how many launchers are out of date and whether any lacks the environment scrub.
- Click Update all. MaeVae rewrites each out-of-date launcher and its tab from the saved profile.
Quick settings shows + Add profile and + Add agent, its Isolation part with Check all profiles, and the buttons Usage & cost, Data folder, Backup & restore… and Removed profiles' launchers…. Where motion is allowed, a short rendered scene plays once and ends on this frame: a Launchers part reads 1 launcher is out of date (no environment scrub): Client work, its Update all button is pressed and reads updating, and the part goes once nothing is out of date.
What a launcher clears: both the launcher and the tab clear the other agents’ credential variables (ANTHROPIC_API_KEY, OPENAI_API_KEY and their like) before they pin the profile’s own folder, so a token or key set for your whole Windows account cannot quietly override the profile’s account. The tab does it with a real step for each variable at the start of its command line.
What Update all keeps: keys you added to a tab yourself, such as a color scheme or a font, and a variable of your own in the tab’s environment block. Only the variables MaeVae manages there are reset. A launcher that is already current is never touched, and MaeVae only reads them to compare; it never rewrites one on its own. A notice at start-up and a note in the profile’s editor also say when one is out of date.
Left over from deleted profiles: Removed profiles’ launchers… in Quick settings lists launchers and tabs whose profile is gone, and removes them safely. It never touches a login folder.
Limit. A launcher or tab of a profile in API-key mode carries no key; it falls back to whatever login the profile’s folder holds. Use the pane for such a profile. aider is the exception (next task).
Give aider a launcher
Before you start: an aider profile with its API key saved (see Save an API key for a profile).
- Click ✎ on the aider profile’s rail entry.
- Click Create / update CLI launcher (pinned WT tab) in its Account box.
- Start aider from the launcher or the tab. When it finishes a turn there, MaeVae hears it: the profile’s rail light turns green, and if the profile has a pane open whose own agent is quiet, that pane shows “done · outside”.
The editor shows its Account box with the button Create / update CLI launcher (pinned WT tab), and the API key box with a hidden key. The rail light of Docs is green; the pane is ringed in green and its header shows the chip done · outside, for a session started from the launcher. Where motion is allowed, a short rendered scene plays once and ends on this frame: the launcher button is pressed, then the session in the Windows Terminal tab finishes a turn and MaeVae shows it on the rail and the pane.
Why aider is different: aider has no login and no configuration folder; its API key is the account. So its launcher and tab hold nothing but a call to MaeVae’s launch helper. At run time the helper reads the profile’s saved key from the Windows Credential Manager, clears every agent credential variable as a pane does, applies the profile’s endpoint, model and attention settings, enters the project folder, and starts aider in that console. The key is never written into the launcher or the tab.
Limit. Such a launcher goes out of date only when MaeVae itself moves; re-create it then. The “outside” mark has no approve or deny buttons, since MaeVae sends keys only to its own pane’s agent: answer in the terminal where aider runs.
Back to contentsMake it yours
Pick a theme, give a profile its own pane theme, icon, chime and pet, and choose the status line.
Themes, pane themes, icons, chimes, pets and the status line change how MaeVae looks and sounds, for the whole app or for one profile.
Pick a theme for the app
- Click Quick settings at the foot of the rail.
- Open App theme. Rest the pointer on a theme to preview it on the whole window; click to keep it. Some of the built-in themes are light.
- For a theme of your own, click Custom themes…, which opens the custom-theme editor.
- Animation, under App theme, sets an ambient animation for the window, previewed the same way.
What you see: the window takes the new theme at once. Every pane that has no pane theme of its own follows it.
Give one profile its own pane theme
- Click ✎ on the profile’s rail entry.
- Open Pane theme. App theme (the first entry) follows the app; any other theme applies to this profile’s panes only. An open pane of the profile previews it while you hover.
- Click Save changes.
What you see: the profile’s panes in their own theme, so you can tell an account apart at a glance. The same editor can also give the profile its own pane animation, and its own brightness and contrast, which are filters on the pane and never change the terminal’s output.
Give a profile an icon
- Click ✎ on the profile’s rail entry.
- Under Icon, click one of the hand-drawn icons, or the last tile to use an image of your own: PNG, SVG, JPG, WebP or GIF.
- Click Save changes.
What you see: the icon takes the place of the profile’s light in the rail, and shows in its pane’s header.
Note. Project icon, further down the editor, is a different picture: the icon of the profile’s Windows Terminal tab (see Write a launcher and a Windows Terminal tab).
Give a profile a chime
- Click ✎ on the profile’s rail entry.
- Tick Notification chime.
- Open the list and rest the pointer on a chime to hear it. Preview plays the chosen one.
- Click Save changes.
The editor shows the ticked check box Notification chime, under it the chime list set to Kalimba with the Preview button, and the note that the chime sounds once per attention event while the profile runs in a MaeVae pane, whether or not you are looking at it. Where motion is allowed, a short rendered scene plays once and ends on this frame: the check box is ticked, the list appears and changes from Aurora to Kalimba, and Preview is pressed.
What you hear: the chime sounds once per attention event (an approval needed, a turn finished), whether or not you are looking at that pane. It plays through Windows audio, apart from the MaeVae window, so it sounds even while MaeVae is hidden in the tray, though then it can arrive a little late. Mute all notification chimes in Quick settings silences every one.
Note. A chime rides on the profile’s attention events, so those must be on: Attention hooks for Claude, Attention glow for Codex, Gemini, Grok and Qwen Code, and on out of the box for aider. A profile you started in a Windows Terminal tab does not chime. If Preview is heard and real chimes are not, Windows is sending MaeVae’s sound to another output device: open the Volume mixer, find MaeVae, and set its output to your speakers or to Default.
Add a pet to your panes
- For every pane, open Quick settings and click Customize pets… under Pets. For one profile, open its editor and click Customize for this profile… under Pets (this pane).
- Pick a critter, a behavior (sit in a corner, walk, follow the cursor, wander, peek in from an edge, or bounce), up to two companions, a size and how lively it is.
- Save. Use global settings in the editor gives the profile back the global pets.
Under Pets (this pane) the editor says Custom pet settings for this profile, with the buttons Customize pets… and Use global settings, and the note that a pet is a decorative critter over this profile's panes. Where motion is allowed, a short rendered scene plays once and ends on this frame: the part first says Inherits the global pet settings, Customize for this profile… is pressed, and the part changes to the profile's own pet settings.
What you see: a pet over the pane that reacts to its agent. It comes to the top and points when the agent needs your approval, celebrates when a turn finishes, dozes while the pane is idle, and sits down sadly when the shell exits. Pets never block typing or selection; turn Clickable pet off if you want them to ignore the mouse too.
Choose the status line
- For a Claude profile, open its editor and set Statusline: MaeVae HUD shows MaeVae’s status line at the foot of the agent’s terminal; Off shows none. It applies at once and appears at the agent’s next start.
- To change which figures it shows for every profile, open Quick settings and click Customize HUD layout under HUD & sound.
- For one profile’s own layout, click Terminal statusline · what your terminal or WT tab shows in its editor, under Terminal statusline (this pane).
What you see: MaeVae’s status line inside Claude’s own terminal, which is also what a Windows Terminal tab of that profile shows. The strip MaeVae draws around a pane (Chrome HUD, see Read the figures in a pane) is a separate thing, with its own Customize chrome strip….
Note. If the profile shares the login folder your everyday claude uses, this setting changes plain claude’s status line too, and the editor says so.
Back to contentsClose to the tray, Quit, Panic stop
Hide the window to the tray and bring it back, quit for real, stop every agent at once, close every pane, and, at launch, pick up where you left off after a restart.
Closing MaeVae’s window does not stop your agents; the tray icon and its menu are how you reach them while the window is hidden.
Close the window to the tray
- Click ✕ at the top right of the window. Its tooltip says it: close to tray, sessions keep running. The window hides, and every agent keeps working.
- To bring it back, double-click MaeVae’s icon in the tray, or right-click it and choose Show MaeVae.
- Starting MaeVae again from the Start menu brings the running window back too.
What you see: the window exactly as you left it, every pane still running.
Use the tray menu
- Find MaeVae’s icon in the taskbar’s tray (open the tray’s arrow if Windows has tucked it away).
- Right-click it. The menu holds Show MaeVae, Panic stop and Quit.
- Watch the icon: while an agent waits for you, it carries an amber dot.
The Gemini CLI pane Research is lit in amber: its header shows waiting, approve and deny, and its terminal asks Allow npm install? with Allow once highlighted. In the tray, MaeVae's icon carries an amber dot, and its menu is open: Show MaeVae, Panic stop and Quit. Where motion is allowed, a short rendered scene plays once and ends on this frame: the agent asks, the pane lights and the tray icon gets its dot, then the tray menu opens.
What you see: the dot on the tray icon (and on the taskbar button) for as long as a pane waits for you. Panic stop in this menu works with the window hidden.
Quit MaeVae
- Right-click MaeVae’s icon in the tray and choose Quit. Every session ends, and MaeVae closes.
- Open MaeVae again from the Start menu. At launch, every pane comes back in its place and in the same layout, as a waiting place, and nothing runs until you click.
The top bar reads 0 open · 2 waiting with a Start all button. In the place of each pane stands a waiting place: Client work with Claude Code, and Research with Gemini CLI, each saying Waiting. Nothing runs until you click Start, with the buttons Start and Remove. Where motion is allowed, a short rendered scene plays once and ends on this frame: the tray menu opens and Quit is chosen, the window closes, and when MaeVae opens again each pane is back as a waiting place.
What you see: at launch, the stage as you left it, with a waiting place in each pane’s cell. The next task starts them.
Note. Everything started from a pane, the agent and anything it launched, ends when MaeVae quits or the pane closes. Start whatever must outlive the pane from outside MaeVae.
Stop every agent at once
- Click panic in the top bar. It asks first: the button turns into “sure? kill all”.
- Click it again within a moment. Every agent running in MaeVae’s panes is stopped, and every pane is cleared.
- With the window hidden, choose Panic stop in the tray menu: it acts at once.
What you see: the empty stage. The panes disappear rather than stay behind as “exited”. At launch, Panic stop also forgets the waiting places: the empty stage is saved at once, so a restart after it starts empty.
Limit. Panic stop reaches only the agents running in MaeVae’s own panes. An agent started from a launcher or a Windows Terminal tab is a separate program and keeps running; stop it in its own terminal.
Start the waiting places after a restart
At launch: this task is part of the Microsoft Store version of MaeVae.
- After a restart, read each waiting place: the profile’s name and agent, the line “Waiting. Nothing runs until you click Start.”, and the buttons Start and Remove.
- Click Start to start one. Clicking the profile in the rail does the same: it starts the profile’s first waiting place instead of opening another pane.
- With two or more waiting, Start all in the top bar starts each one whose profile is not held back by its Hard stop on the weekly quota (see Get a warning before a limit); a refused one stays waiting.
- Click Remove to take a place off the stage.
The top bar reads 1 open · 2 waiting with Start all. Client work, running Claude Code, is started and at work in the first cell; Side project with Codex CLI and Research with Gemini CLI still stand as waiting places, each saying Waiting. Nothing runs until you click Start, with Start and Remove. Where motion is allowed, a short rendered scene plays once and ends on this frame: three waiting places stand on the stage, Start is clicked in the first, and it becomes a running pane.
What you see: the top bar counts both, for example “1 open · 2 waiting”. A started place opens as a new pane does: the agent starts by itself when the profile’s Start agent automatically is on (the default) and the agent is installed, or when the profile has a launch command; otherwise the pane opens at a plain shell. A profile whose Hard stop has been reached stays waiting.
Note. A place whose profile was deleted says “This profile was removed.” and can only be removed. Close all and Panic stop forget the waiting places too.
Close every pane at once
- Click Close all in the top bar. A confirm opens and names how many panes go, and the first pane’s chime plays once, so a stray click cannot end everything silently.
- Keep them (or Esc) cancels. The button that names the count, for example Close all 3, closes the panes and stops their agents.
- At launch, with nothing running and only waiting places left, Close all removes them at once, without asking, since no agent is stopped.
What you see: after Close all 3, an empty stage. At launch, the empty stage is saved at once, so a restart begins with no panes and no waiting places, and the confirm adds a line when waiting places go with the panes.
Back to contentsBefore you uninstall
Take MaeVae’s entries out of your profiles, delete a profile you no longer need, uninstall the app, and know what stays on your computer.
When you turn on the HUD or Restricted mode for a profile, MaeVae writes its status line, its hooks and its deny rules into that profile’s own agent settings. Uninstalling the app removes the program but leaves those folders, since they hold your logins, and an agent whose settings still point at MaeVae would try to run a program that is gone on every prompt.
Remove MaeVae from every profile at once
Before you start: close every pane, and close any agent you started from a launcher or a Windows Terminal tab.
- Open Quick settings and find Before uninstalling near its end.
- Click Remove MaeVae from all config dirs. It asks for a second click; click again.
- Read the report under the button: one line per profile.
- Client work
- Docs
- Side project
- Research
What it removes: MaeVae’s status line, attention hooks and local-endpoint provider from every profile’s configuration folder, including the login folder your everyday claude uses when a profile points at it; and the restriction entries, which only ever exist in a profile’s own folder. Your logins and your profiles stay. A Restricted profile becomes Trusted, and a profile with an open pane is skipped: close it and run the button again.
Limit. MaeVae guards only the panes it opened itself. An agent started from a launcher or a Windows Terminal tab is not detected, so close those yourself first.
Remove MaeVae from one profile
Before you start: close the profile’s panes.
- Click ✎ on the profile’s rail entry.
- Click Remove MaeVae integration. It reads “Click again to remove integration”; click again.
- MaeVae takes its status line, attention hooks, restriction and local-endpoint provider out of this profile’s folder. A Restricted profile becomes Trusted.
What you see: the profile as Trusted, and no restricted mark on its rail entry. The button is offered for every built-in agent; a plain shell has nothing to remove.
Note. Do this also before you delete a profile that shares the login folder your everyday claude uses; otherwise plain claude errors on every prompt, trying to run a MaeVae that is gone.
Delete a profile, and know what it keeps
Before you start: close the profile’s panes; Delete is refused while it has one open. If the profile shares the login folder your everyday claude uses, remove MaeVae’s integration from it first (the task above), since Delete leaves that folder untouched.
- Rest the pointer on the profile’s entry in the rail. Its small buttons appear at the right; click ✕, whose tooltip reads Delete profile.
- Read the Delete profile panel. It asks whether to delete the profile from the rail, names what is deleted for good, and says what is kept on disk.
- Type DELETE in the box under Type DELETE to confirm. Until you have, the Delete profile button stays grayed.
- Click Delete profile, or press Enter in the box. Cancel, the close mark, a click outside the panel or Esc leaves everything as it was.
In the rail, the entry Docs shows its delete mark. The panel asks Delete Docs from the rail? It says Permanently deleted: 1 saved account login (me@example.com), and that the profile's config dir is kept on disk with the login it is currently signed in as, along with its .cmd launcher and its pinned Windows Terminal tab, after MaeVae's statusline, hooks and restriction are stripped from that folder. The box under Type DELETE to confirm holds DELETE, and the buttons are Cancel and Delete profile. Where motion is allowed, a short rendered scene plays once and ends on this frame: the delete mark appears on the Docs entry and is clicked, the panel opens over the window, and DELETE is typed, which readies Delete profile.
What you see: after Delete profile, the profile leaves the rail and a short message says what was left on disk. Its configuration folder stays, with the login it is signed in as, and so do its launcher and its Windows Terminal tab; MaeVae’s status line, hooks and restriction are taken out of that folder first, so the plain agent keeps working there. Its saved account logins and its stored API key are deleted for good. Removed profiles’ launchers… in Quick settings lists the launcher and the tab it left, and removes them for you.
Limit. MaeVae counts only the panes it opened itself. Close an agent you started from a launcher or a Windows Terminal tab yourself before you delete its profile.
Uninstall, and know what stays
- Remove MaeVae’s entries first (the first two tasks of this chapter).
- Uninstall MaeVae in Windows Settings › Apps › Installed apps, or right-click it in the Start menu and choose Uninstall.
- Decide about your data. Each profile’s configuration folder and MaeVae’s data folder in your Windows user folder stay where they are, because they hold your logins. Delete them by hand if you want a completely clean removal; Data folder in Quick settings opens MaeVae’s data folder before you uninstall.
What stays: nothing about your accounts lives in the program’s own folder, so your data outlives the app: each profile’s folder with its login, and MaeVae’s data folder with your profiles and settings. Two more things stay: the Windows Terminal tab entries MaeVae wrote for your profiles, which Remove MaeVae from all config dirs does not touch, and any API keys saved in the Windows Credential Manager. Remove them from Windows Terminal’s settings and from the Credential Manager if you want them gone.
Back to contentsWhen something looks wrong
Find the plain cause of the usual surprises, and fix each one.
Most surprises have a plain cause: a tool that is not on your PATH, an agent’s one-time setup, an agent’s own update gone wrong, or Windows holding a notification back.
An agent shows “(not installed)”
- See where it shows: “(not installed)” after the agent in the New profile list, “not installed” on its heading in the rail, and its name after “Missing:” in Quick settings. MaeVae cannot start a pane for it.
- Install the agent’s command-line tool, either as its maker describes, or with Install and its name in Quick settings under Update agents (at launch, in the Microsoft Store version, Grok CLI’s Install shows its command for you to run yourself; see See what a button runs). On the New profile panel, Copy install command copies the command for you.
- Check it in a terminal with its version command, for example
claude --version. - Reopen MaeVae. An install from Quick settings that lands on your PATH shows at once; a program installed into a new folder needs the restart.
The rail shows the Gemini CLI heading marked not installed above the profile Research. In the panel, Name reads Research and Agent reads Gemini CLI (not installed); under it the line Gemini CLI isn't on PATH. with the button Copy install command, and the note on picking an agent. Where motion is allowed, a short rendered scene plays once and ends on this frame: the Agent changes from Claude Code to Gemini CLI (not installed), and the line with Copy install command appears.
What you see after the fix: the agent without the mark, and its profiles open panes again.
A new pane looks stuck
- Look at the pane. A list of options or a question means the agent is asking you something: almost always its one-time setup, the first time a profile’s pane opens.
- Answer in the pane with the arrow keys and Enter. For Claude the setup is a theme picker, then whether to trust the project folder, then the sign-in.
- Sign in when it asks. From then on, opening that pane starts the agent straight away.
What you see: the agent at its prompt. The setup runs once per profile, since every profile has its own folder; a second profile of the same agent asks again.
An agent broken by its own update
- Read the pane. A message such as “claude.exe is not a valid application”, or a similar failure to start, means the agent’s own self-update was interrupted and left a broken file. It is not a MaeVae fault.
- Click remove on the pane (once the agent has exited, close becomes remove).
- Reinstall the agent’s command-line tool: for Claude Code,
npm install -g @anthropic-ai/claude-codein a terminal; for the others, their own install command, which Install in Quick settings runs for you when the agent shows as missing (at launch, in the Microsoft Store version, it shows Grok CLI’s command for you to run instead). - Reopen MaeVae and open the profile again.
What you see after the fix: the agent starting in its pane as before. Your profiles and logins are untouched: they live in their own folders, not in the agent’s program.
MaeVae will not open a second window
- Know that this is by design: MaeVae runs once, and starting it again brings the running window forward instead of opening a rival over the same profiles.
- If you closed the window earlier, it is in the tray: double-click MaeVae’s icon there, or start MaeVae again from the Start menu.
What you see: the same window, with every pane as you left it.
A figure is missing in the HUD
- For a Claude profile, check that its HUD is on: hud on its rail entry (see Turn the HUD on for a Claude profile).
- Rest the pointer on the grayed figure and read why (see Find out why a figure is missing): the agent reports no such figure, nothing fresh has come from the pane yet, or MaeVae reads nothing for that kind of pane.
- For a pane that has not answered yet, send a prompt and let the turn finish: Codex writes its session log only after the first prompt, and Grok writes its figures only after the first completed turn.
What you see: the figures the agent reports, and a grayed dash for the rest (n/a in the rendering). A whole grayed strip on a pane that has answered is a plain shell or a local-model pane, which MaeVae reads nothing for.
A notification never arrives
- Switch to another window first. MaeVae sends a Windows notification only while its own window is not the focused one; in view, the lit pane is enough.
- Check Windows: in Settings › System › Notifications, the Notifications switch must be on, Do not disturb off, and MaeVae on in the list of apps once it has appeared there. Windows decides whether to deliver it.
- For a notification even while MaeVae’s window is in front, or for the Working state, tick OS toast for that state in Quick settings › Customize pane notifications… (or the profile’s own). That editor shows an amber line when Windows will not deliver.
- For Codex and Gemini, do the one-time trust step inside the agent first (see When an agent needs you); until then the pane never glows for that profile.
The Gemini CLI pane Research is lit in amber with waiting, approve and deny in its header and the question Allow npm install? in its terminal. MaeVae's tray icon carries an amber dot, and a Windows notification from MaeVae stands over the taskbar: Research needs approval, Waiting for your go-ahead. Where motion is allowed, a short rendered scene plays once and ends on this frame: the agent asks, the pane lights and the tray icon gets its dot, then the notification appears.
What you see when it works: the notification names the profile and says whether it needs approval or finished, with the agent’s own message or a short default. It comes once per event, and an event that arrived while MaeVae’s window was in front is not sent later. An OS toast comes when a pane enters its state, not for a state the pane was already in.
Limit. A profile you started in a Windows Terminal tab or a launcher does not chime and has no approve or deny buttons, since MaeVae hears and answers only its own panes; MaeVae’s pane for that profile can mirror its state with the “· outside” chip.
Back to contentsQuestions this guide leaves open
The FAQ answers the short ones; Support takes the rest.
The FAQ gathers the questions people ask, each answer linked back to its task in this guide. If something still looks wrong after chapter 19, write to support: the Isolation report’s Copy button puts the most useful text on your clipboard to paste into the message (chapter 9).