Features and functions
MaeVae is a desktop console that runs your AI coding agents side by side and keeps each one in a pane and a profile of its own. Sign in once per profile, and nothing crosses between them: not the login, not the bill, not the memory. A live HUD shows each agent’s model, cost, tokens and context, and an attention queue tells you when an agent needs you.
This page goes through the main parts of the app, group by group: what it does, a rendering of it at work, and where it stops. The renderings are made in this page’s own code, with the labels the app uses and invented examples; none of them is a screenshot, and some leave out parts of the app, such as the review button on a pane header. Each larger rendering plays a short scene once when it comes into view, and its Play and Stop buttons replay or end it. If your system asks for reduced motion, every rendering stays still on its last frame. A part marked “at launch” comes with the Microsoft Store release.
Contents
Skip the contentsProfiles
A profile is one identity: one agent, one account, one project folder. Each pane in MaeVae runs one profile.
Its own configuration folder
When you create a profile, MaeVae makes a configuration folder for it alone, and that account’s login lives there, apart from every other profile. That is why two panes of the same agent can run two different accounts: logins, billing and memory never mix.
You sign in inside the pane, with the agent’s own login. The first time a new profile’s pane opens, the agent runs its own one-time setup there; for Claude Code that is a theme picker, a prompt asking whether to trust the folder, then a browser login. After that, opening the pane starts the agent straight away. aider has no login: its profile holds an API key instead.
Six agents and a plain shell
A profile runs one of six agents: Claude Code, Codex, Gemini CLI, Qwen Code, aider or Grok. A seventh kind of profile opens a plain shell with no agent, and Add agent in Quick settings adds more agents. MaeVae bundles none of the agents; it starts the command-line tool you installed and put on your PATH.
If a tool is not on your PATH, MaeVae writes “(not installed)” beside its name and cannot start a pane for it. The new-profile steps then offer Copy install command, which copies the vendor’s install command and opens the vendor’s page. Install the tool, check it with its own --version in a terminal, then reopen MaeVae.
Making one, in three steps
“+ Add profile” in Quick settings, or in the empty rail on a first start, opens New profile:
- Agent: a short name and the agent the profile runs.
- Account: for Claude Code, a fresh isolated account or your existing Claude login; for the others, a note that the agent gets its own folder and signs in on first launch. An optional account label helps you tell accounts apart. For Claude Code, Codex and Gemini CLI, MaeVae checks it against the real login, and when the two differ the pane shows a banner with Use this login as the label.
- Project: the project folder, the Capability (Trusted or Restricted) for Claude Code, Codex and Gemini CLI, and Also make a CLI launcher. That box starts ticked: it makes a launcher, and a Windows Terminal tab too when Windows Terminal is installed. Create & open opens the first pane.
Advanced (all fields) opens the full editor instead, with the color, the icon, the pane theme, the chime and the rest. The same editor opens later from the profile’s pencil in the rail.
Where a profile sits
The rail on the left lists your profiles under each agent’s name, and an agent whose tool is missing carries “not installed” beside its name. A light beside each profile shows whether its pane is open, working, waiting for you or done, and under the name sits the account label, or the project folder when there is no label. Click a profile and its pane opens beside the ones already open.
Leave the project folder empty and an agent pane starts in a scratch folder MaeVae keeps for that profile, never in your home folder. If a saved project folder is missing when the pane opens, the pane goes to that scratch folder too and says so in its first line.
Limits. A Claude Code profile set to use your existing Claude login shares that login, its history and its memory with your everyday Claude. 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.
- In the guide: Make your first profile, Sign in inside the pane
- In the FAQ: What does “profile” mean in MaeVae?, Can I use two accounts of the same agent?, Why does an agent show “(not installed)”?
Restricted mode
For a Claude Code, Codex or Gemini CLI profile, Restricted mode boxes the agent to its project folder and stops push and deploy commands, in the way each agent allows.
MaeVae writes the box into that profile’s own settings, merged with what is already there: the settings file for Claude Code and Gemini CLI, the config file for Codex. Your hooks and the rest of your settings stay as they are.
You choose it as the Capability, Trusted (full access) or Restricted, in the last of the new-profile steps or in the profile’s editor. When you pick Restricted, both show that agent’s own note: what its box does, and its limit. The rail then marks the profile “· restricted”.
What each agent’s box does
-
Claude Code
A Restricted profile is granted only its project folder. The agent is denied reading or editing the folders beside it and the configuration folders of your other profiles, and push and deploy commands are blocked:
git push,wrangler, deploy and publish. MaeVae also switches off Claude’s mode that skips permission prompts, so starting Claude with its skip-permissions flag cannot undo the box. -
Gemini CLI
Gemini CLI asks for your approval on every tool call, keeps its file tools to the project folder and is denied push and deploy commands. Its mode that approves everything is switched off, so no flag can turn it on. A shell it runs can still read outside the folder.
-
Codex CLI
Codex keeps its writes to the project folder, has its network turned off and stops for your approval before it steps outside that box, so a push or a deploy asks you instead of running. It can still read anywhere, and a shell can get around the box.
A refused push
In the rendering a Restricted Claude Code profile tries to push. The refusal comes from the agent itself. MaeVae does not sit between the agent and its commands: it writes the deny rules into the profile’s own settings, and the agent’s own permission check turns the command down, in the agent’s own words. The rendering marks that moment “Blocked”; the word is this page’s, not the app’s. A Restricted Codex profile would stop and ask for your approval at the same point.
What it needs
A Restricted profile needs a real project folder: a directory that exists and is not your Windows home folder. Creating a Restricted profile, switching one to Restricted or changing its project folder is refused without one, because the box is anchored to that folder. If the box cannot be written when you save, MaeVae saves the profile as Trusted and tells you why.
MaeVae never applies Restricted to your shared Claude login folder; the choice is refused there. Switching a profile between Trusted and Restricted, or changing a Restricted profile’s project folder, is refused while its panes are open; close them first.
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.
- In the guide: Restricted mode, step by step
- In the FAQ: What does Restricted mode stop?, What does Restricted mode not stop?
Isolation
Every profile is meant to be its own world: its own configuration folder, its own project folder, nothing inside it pointing outside, nothing arriving without your click. MaeVae checks that it is, seals what it can fix, and enforces the seal at every start.
The badge
Each pane’s header carries an Isolation button with a dot. Click it and the report opens over the pane; the profile editor’s Isolation section shows the same report. A plain shell profile has no badge, since there is nothing to isolate.
- IsolationIsolated, green: every rule passed and what is installed matches what you approved.
- IsolationDrift, amber: something you never approved appeared, or a rule warned.
- IsolationBreach, red: a Boundary, Reference or Inbound rule failed.
- IsolationUnchecked, gray: never checked, or no approved set yet.
The report, in four faces
-
Boundary
The configuration folder is the profile’s own: not the agent’s shared login folder, not inside another profile’s folder, not a link that leads elsewhere. The project folder is real and outside every configuration folder. The launch pins the profile’s folder and clears credential overrides. A Restricted profile’s deny rules are what MaeVae would write today, and the isolation contract is present and current.
-
Reference leaks
Nothing inside the profile points outside it: plugin install paths, marketplace locations, MCP server commands, hook and status line commands, skills and extensions.
-
Inbound channels
Nothing arrives without your click. Claude’s claude.ai sync and Codex’s ChatGPT plugin catalog are closed by default; Gemini CLI, Qwen Code and Grok have no known account channel today, and the row says so rather than passing. A Grok pane still picks up the plugins installed for your everyday Claude (see the limit below).
-
Drift
What is installed (plugins, MCP servers, skills, hooks, extensions, connectors) against the set you approved.
Each row reads PASS, WARN, FAIL or INFO, with the reason in plain English and the fix on offer. Copy puts the whole report on the clipboard as text, which is the most useful thing to paste into a message to support.
Check isolation and Approve current set
Check isolation runs every rule on this profile’s own files, and nothing else. When it finds something new, such as a skill installed since you last approved, the Drift face turns WARN and the badge turns amber. Approve current set makes what is present now the approved set, and the badge turns green again.
A new profile starts with an empty approved set, so its badge reads Unchecked until you approve. Install what you want in it first, then approve once.
Seal profile
Seal profile applies every safe fix at once: it writes the vendor’s channel keys, switches synced entries off, repoints a plugin path to the profile’s own copy when a byte-identical copy already exists inside the profile, and rewrites the contract. Everything else is reported with the exact path and what to do. Seal then checks again.
Every write stays inside the profile’s own configuration folder, never a shared login folder, another profile’s folder or the project folder, and the first change to a file leaves a backup copy beside it. MaeVae never deletes a vendor’s synced folder: once the keys are set, the vendor moves it aside itself at its next start.
Seal does not approve anything. Something that appeared stays Drift until you approve it or remove it. In the rendering below, the cause of the Drift is a contract gone out of date, which Seal can fix.
The contract
MaeVae writes a short block into the agent’s own instructions file inside the profile’s configuration folder: CLAUDE.md for Claude Code, AGENTS.md for Codex, GEMINI.md for Gemini CLI, QWEN.md for Qwen Code and a rules file for Grok; aider reads it through its own read setting. The block names the profile’s two folders and the rule: all work stays inside them, and a permission you grant applies to that request only. It sits between two marker comments, and MaeVae rewrites only what is between them, so your own instructions around it are untouched.
Enforced at every start
A new profile is born sealed. At every MaeVae start, the channel keys are written again for every profile whose Account sync is Blocked, and a contract that is out of date is refreshed. Nothing is ever written into the agents’ shared login folders.
Account sync
For an agent with an account channel, the profile editor’s Isolation section has an Account sync switch, Blocked by default. Allowed leaves the channel to the vendor, and the Inbound rows then read “allowed by you”. Switching back to Blocked seals the profile at once.
Two preferences
The quick check when a pane opens runs the Boundary and Inbound rules, and it is on by default. On a breach decides what a red badge does when a pane starts: Badge only opens the pane and turns its badge red; Refuse the launch keeps the pane closed and opens the report in its place, with Seal and Approve on offer. Quick settings holds the defaults for every profile, and a profile can carry its own in its editor.
The quick check keeps the last full check’s Reference and Drift rows, so a newly installed plugin or skill shows at the next Check isolation, Check all profiles, Seal or Approve, not when a pane opens.
Check all profiles
Check all profiles, in Quick settings, runs every profile’s own check, then asks the one question that involves two profiles: does a path in one profile’s files reach into another profile’s configuration folder? A hit is a Breach on the profile that reaches out; fix it there with Seal. Each profile is checked inside its own walls, never by reading a sibling’s credentials, sessions or history.
Limit. The check reads the manifests and channels MaeVae knows for the vendor versions it was measured against. A vendor can add a new channel between releases, and an Inbound row is only as current as that measurement. Every Grok pane runs with Grok’s Claude, Cursor and Codex compatibility switched off, but Grok still finds the plugins installed for your everyday Claude. Their hooks and MCP servers can be active in a Grok pane, Grok has no setting to stop that, and grok inspect in the pane lists what it picked up.
- In the guide: Isolation, step by step
- In the FAQ: What do the Isolation badge’s colors mean?, What does the Isolation check look at?, What does Seal profile do?, What does Check all profiles do?
The HUD and the usage dashboard
Every pane can carry a live strip of figures: the model, cost, session time, tokens, quota and context, as far as its agent reports them. The pane header mirrors them, and the usage dashboard puts every profile in one table.
In the pane
The header shows the model in a frame, then the cost, the token total, the five-hour and weekly quota and a context gauge, each only when the agent reports it. The gauge turns amber above 65 percent and red above 85. When the project folder is a git repository, the header also shows its branch, an amber dot for uncommitted changes, and how far it is ahead of or behind its upstream.
The strip under the terminal is switched on in Quick settings, as Chrome HUD, and can sit above or below the terminal. Its default line is the agent’s state, the profile, the agent, the model, the context used and the pane’s uptime; Customize chrome strip changes what it shows, and a profile can carry its own layout.
-
For Claude Code
Click hud on a Claude Code profile’s rail entry and MaeVae registers itself as that profile’s status line and hook commands, merged into the profile’s own settings without overwriting anything you added. Claude’s own bar in the terminal then shows its figures too. On a profile that shares your everyday Claude login, the button asks for a second click first, because it changes that login’s settings too.
-
For the other agents
Codex, Gemini CLI, Qwen Code, Grok and aider have no status line callback, so MaeVae reads the files each agent already writes: its session files in the profile’s own folder, or for aider its chat history in the project folder. It only reads them, and the HUD fills from the first turn.
What each agent reports
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.
The usage dashboard
The usage button in the top bar, or Usage & cost in Quick settings, opens a table of every profile: the model, the session cost, tokens, context, and the weekly and five-hour use, for the current or most recent session, with a live mark on each profile that has a pane open.
A Claude Code profile can carry a quota warning: MaeVae warns once its weekly use reaches that percentage of the Anthropic weekly limit, and with Hard stop ticked it also blocks new agents from starting on it.
At launch, this becomes quota warnings. Quota warnings in Quick settings has Warn at %, 85 by default, for every profile, and Tell me when a spent quota renews. A profile’s own Quota warning at % covers any quota window its agent reports, and Hard stop then applies to the weekly window.
Claude Code profiles in the same rotation group form a pool: when one reaches its limit, the dashboard offers to rotate to the one with the most room left, and Quick settings can make that switch on its own for an idle pane.
When a figure is missing
A figure an agent does not report is grayed in the app, and pointing at it says why. “This agent reports no figure for this chip” is the vendor’s gap; “No fresh telemetry from this pane yet” means the agent has written nothing in the last three minutes; “No data source for this vendor yet” marks a pane MaeVae reads nothing for, such as a plain shell. In this page’s renderings a missing figure reads n/a.
Limits. The figures are measured from the agents’ own files on disk; they are not a bill. Claude Code’s quota comes from an unofficial endpoint, read with the profile’s own sign-in and held for about a minute, and when it cannot be read the quota figures stay empty rather than showing an error.
- In the guide: The HUD and the usage dashboard
- In the FAQ: What does the HUD show?, Why is a HUD figure missing?, What is the usage dashboard, and is it my bill?
The attention queue
When an agent asks for an approval or finishes a turn, MaeVae lights its pane, lights the profile in the rail, badges the tray icon, and can raise a Windows notification and a chime.
The pane, the rail and the tray
A pane waiting for an approval wears an amber ring and an amber “waiting” mark in its header; a pane whose turn finished wears a green one and “done”. The profile’s light in the rail changes the same way, and the tray icon and the taskbar button carry an amber dot while anything waits.
How a pane signals is yours to set, in Quick settings for every pane or per profile: a pulsing or steady ring, a flash, a corner dot, a full-pane tint, a blink or nothing. The signal has a color per state, an intensity and a speed, and each state can also raise a Windows notification if you want one.
Notifications and chimes
The notification names the profile, “Research needs approval” or “Research finished”, with the agent’s own message under it. MaeVae sends it only while its window is not focused, since a pane in view already shows the state.
A chime sounds once per event, through Windows audio, even while MaeVae is hidden in the tray. Each profile picks its own chime in its editor.
Approve or deny from the header
While an agent waits for an approval, its pane header shows approve and deny. Approve sends Enter to the pane, which picks the option the agent has highlighted; deny sends Esc. For Claude Code, Gemini CLI, Grok and Qwen Code the buttons sit on the exact pane that asked; for Codex, whose hook cannot name the pane, they apply to the profile.
After a Claude Code turn, a pane left at its prompt stays green, “waiting for you”, without chiming a second time. aider asks for no approvals through MaeVae, so its pane only ever turns green, when it is back at its prompt.
-
The one-time trust step
Codex and Gemini CLI guard their own hooks. In a Codex pane, type
/hooksand trust MaeVae’s two hooks; Codex asks again whenever the hook text changes. Gemini CLI lists them under/hooks paneland loads them once you have trusted the project folder it opened in. Until that step is done, the pane never lights or chimes for that profile. Grok and Qwen Code need no such step. -
Sessions outside MaeVae
A profile that runs in a Windows Terminal tab or from a launcher instead of a pane is mirrored on its pane with an “· outside” mark, without approve and deny, because MaeVae only ever sends keys to its own pane’s agent. Answer in that terminal.
Limits. The attention queue is switched on per profile. A Claude Code pane lights only once hud is on for its profile; a Codex, Gemini CLI, Grok or Qwen Code pane only once Attention glow is on in its editor and the pane has been reopened. aider’s glow is on from the start. Codex and Gemini CLI also need the one-time trust step inside the agent before the pane lights. Windows decides whether a notification is delivered: its notification settings must allow MaeVae, and the app’s notification editor shows a line when Windows will not deliver. An agent started outside MaeVae, in a Windows Terminal tab, does not chime.
- In the guide: When an agent needs you
- In the FAQ: How does MaeVae tell me an agent needs me?, Why doesn’t a new Codex CLI or Gemini CLI pane light up?
Layouts and keys
Three layouts, keys for every pane, a palette of actions, one line sent to every agent at once and, at launch, one pane at full size when you need it.
Columns, rows and grid
The three layout buttons in the top bar set columns, rows or a grid. The grid fills the space for any number of panes, and its last pane stretches across any empty cell. Drag the gutters between columns or rows, or the dividers of the grid, and the panes refit live; choosing a layout shows every pane again.
Drag a pane by its grip, or use its arrows, to change the order. At launch, MaeVae remembers which panes are open, their order and sizes, the layout and the pane that fills the window.
One pane fills the window, at launch
At launch, with two or more panes, the fill button in a pane’s header, Alt+0, or Maximise pane in the palette makes that pane fill the window. The other panes are hidden, not closed, and their agents keep running. Show all in the top bar, Alt+0 again or Show all panes brings them back; while panes are hidden, Show all counts the hidden ones that need you.
Keys
- Alt+1 to Alt+9 move keyboard focus to that pane; at launch, while one pane fills the window, they make that pane fill it instead. Only the digits of the top row count, and inside a text box the keys stay with the box.
- Ctrl+K opens the command palette.
- Ctrl+B cycles the rail through pinned, collapsed to its icons, and auto-hide; drag the rail’s edge to resize it.
- Ctrl with the scroll wheel, or the two text-size buttons in a pane’s header, change that pane’s text size.
- Ctrl+Shift+F searches a pane’s scrollback. Links are clickable, selecting text copies it, and each paste gesture pastes exactly once: Ctrl+V, Ctrl+Shift+V, a right-click or Shift+Insert. When the program in a pane uses the mouse itself, a right-click belongs to that program; hold Shift with it to have MaeVae paste.
An optional compose box at the foot of a pane lets you write a prompt with offline spelling fixes; Enter sends the corrected text to the pane.
The command palette
The palette is a searchable list of actions: open any profile, jump to a pane, pick a layout, open the usage dashboard, toggle the rail, close all panes, or switch the theme. At launch, it can also make a pane fill the window or show them all.
Broadcast
With two or more panes open, a Broadcast box appears in the top bar. Type a line and press Enter, and it goes to every open pane at once, Restricted ones included, so use it with care.
Redraw
If a resize leaves stray characters on screen, the Redraw button in the pane header nudges the program to repaint. On a Gemini CLI pane drawing on its normal screen it also sends Gemini’s own clear-screen key. New Gemini CLI profiles draw on Gemini’s alternate screen, which avoids the leftovers, and the profile editor can switch an older one to it; there the pane’s scrollback search no longer holds the conversation, which Gemini scrolls itself.
Closing panes
A live pane’s close asks “sure?” first; a pane whose shell has exited shows its exit code and closes with remove. Close all asks before it stops anything, naming how many panes go, and Keep them is the safe answer.
Limit. Everything started from a pane, the agent and anything it launches, ends when the pane closes or its shell exits. Start anything that must outlive the pane from outside MaeVae.
- In the guide: Work side by side
- In the FAQ: How many panes can I open, and how are they laid out?, Which keys should I know?, What does Broadcast do?, A pane shows leftover characters after a resize. What now?
The account switcher
One Claude Code profile can hold more than one saved login, and you switch between them from the profile’s editor without signing in again.
How it works
Save this login keeps the current login. Add another account saves it, closes the profile’s panes, signs you out and reopens a pane, so you can sign in as someone else. Switch puts a saved login back and restarts the pane. Only the login changes: the project, the quota warning and the restrictions stay the same.
Removing a saved account takes two clicks and deletes that stored login for good; the live pane and the current login are untouched.
Separate from the switcher, Auto-rotate at rate limit in Quick settings, off until you tick it, switches an idle pane, on a profile with its HUD switched on, to the Claude Code profile in its rotation group with the most room left once its account reaches its limit; a pane that is working or waiting for your approval is never switched.
Open panes and outside sessions
Sign out, a switch between Trusted and Restricted, and Delete are refused while the profile’s panes are open, so close them first: a running agent refreshes its token and would write a signed-out login straight back.
MaeVae guards only the panes it opened itself. When it sees recent activity from a session it did not open, such as a Windows Terminal tab for that account, it warns you and asks once more before it changes the login, since that session can write the old token back. Close it yourself first.
Limits. It works for Claude Code profiles that sign in with a login; an API-key profile with a saved key never reads a swapped login, so the editor says why and does not offer it. It is opt-in, and it keeps a copy of the login token.
- In the guide: A second account of one agent
- In the FAQ: Can I use two accounts of the same agent?, Where does a profile’s login live?
Windows Terminal tabs and launchers
Any profile except a plain shell can also run outside the MaeVae window, in a Windows Terminal tab or from a launcher, pinned to the same profile.
Made with the profile
Also make a CLI launcher, in the new-profile steps, starts ticked; leave it ticked, or press Create / update CLI launcher in the profile’s editor later. MaeVae writes a launcher and, when Windows Terminal is installed, a tab for it, each pinned to the profile’s own configuration folder, each with its own icon, which you can pick in the editor. The tab carries the profile’s name.
Both clear the other agents’ credential variables before they pin the profile’s folder, so a token left in your environment cannot override the pinned account. They follow the profile’s launch line, and the launcher opens the tab by its own identifier, so two profiles with the same name under different agents never collide.
aider’s launcher
aider has no configuration folder, so its launcher and tab go through MaeVae’s launch helper, which reads the profile’s saved key from the Windows Credential Manager at run time. The key is never written into the launcher or the tab.
Kept in step
MaeVae compares every launcher and tab with what it would write today, without changing them. When one is out of date, Quick settings shows a Launchers block with Update all. Leftovers from profiles you deleted are listed under Removed profiles’ launchers, where they can be removed safely.
If Windows Terminal already holds an older MaeVae tab of the same name, MaeVae takes it over in place instead of adding a second one, and it edits only its own entries in Windows Terminal’s settings.
Limits. A session in a tab or a launcher runs outside MaeVae’s panes: it does not chime, its approvals are answered in that terminal, Panic stop does not reach it, and the account switcher does not count it as an open pane. Apart from aider’s, a launcher for an API-key profile carries no key and falls back to the login in its folder; use the pane, which brings the saved key.
- In the guide: Windows Terminal tabs and launchers
Backup and restore
Quick settings writes your MaeVae data to a zip or a folder you choose, and reads it back, on this machine or another.
What goes in
Always included: your profiles and their settings, your agent definitions, the app’s settings, the HUD layouts and each profile’s own status line, the layout of your panes, and the Windows Terminal tab icons you picked. Never included: running processes, half-written temporary files, and the agents’ own shared login folders, which are yours, not MaeVae’s.
Three things go in only when you tick them: account logins (each profile’s isolated folder and the switcher’s saved logins), usage history, and API keys from the Windows Credential Manager. Ticking logins or keys brings up a warning that the backup will then hold real credentials, so keep it somewhere safe.
Restore
Restore points every profile at this machine’s MaeVae data folder, so a backup made under another Windows user or on another computer restores cleanly. It refreshes launchers and tabs that already exist and never makes new ones, puts a login back as one unit, keeps an existing sign-in whole when Overwrite is off, and skips API keys for profiles that do not exist on this machine.
A file that disappears while a backup runs is skipped and listed in the report instead of stopping the run. Both directions show a progress bar.
Limit. There is no cancel once a backup starts, so a very large backup of logins simply runs to completion.
- In the guide: Backups
- In the FAQ: How do I back up my profiles?, How do I restore a backup?, How do I move MaeVae to another computer?
Updating the agents
MaeVae can run each agent’s own updater for you, from Quick settings, and tell you what came of it.
What the buttons run
Update agents, in Quick settings, has Update all installed and one button per agent. Each runs that agent’s own update command, such as claude update, or npm install -g for the agents published on npm, then checks the agent’s version afterwards. For an agent that is not installed yet, the same place offers its install command; a tool that lands in a new folder is seen once MaeVae restarts. At launch, in the Store release, Grok CLI’s Install shows its command with Copy, for you to run in PowerShell.
Only one update runs at a time, and each gets five minutes before MaeVae stops it. While one runs, a Stop button ends it at once, and a stopped run never marks a healthy agent as broken. Each run works in a throwaway folder of its own.
The notice
When it ends, a notice at the lower right says what happened, one line per agent: Done, Warning (it went through, but there is something to read) or Error. The command’s own output is behind Details. A Done notice goes away by itself; a Warning or an Error stays until you press Dismiss.
aider, Grok and MaeVae itself
-
aider
aider is updated through uv, after MaeVae checks that uv knows the aider on your PATH; if aider was installed another way, the notice says so as a Warning and nothing runs.
-
Grok CLI
Grok updates with its own updater, pointed at the copy on your PATH and never at a profile. Grok’s own automatic updater is switched off inside MaeVae panes, so this button is the way to update it.
-
MaeVae
At launch, MaeVae itself is installed and updated by the Microsoft Store. Before you uninstall it, Remove MaeVae from all config dirs, in Quick settings, takes its status line and hook entries out of every profile and leaves your logins in place. It also turns every Restricted profile back to Trusted, and skips a profile with a pane still open.
Limit. The update itself is the vendor’s: MaeVae runs the vendor’s own command, gives it five minutes and reports what it printed.
- In the guide: Update an agent from inside MaeVae, Before you uninstall
- In the FAQ: How do MaeVae and the agents get updated?, An agent stopped starting after it updated itself. Is MaeVae broken?
Local and other models
Codex, aider, Qwen Code and Grok profiles can be pointed at a model server of your choice: one on your own PC, a cloud provider such as Groq or OpenRouter, or any custom address.
The Endpoint field
For Qwen Code and aider, the profile editor has an Endpoint field with presets for common local servers and for the two cloud providers, and a Custom choice for any address that speaks the OpenAI format. For Codex, Model endpoint routes the profile to a local, cloud or custom server, and MaeVae writes the provider into that profile’s own Codex settings, never the shared ones. A Grok profile has an Endpoint field too, with no Model field and no List models.
A cloud provider needs your own key: set the profile to API-key mode and paste it, and MaeVae keeps it in the Windows Credential Manager, never in a file. The Model field names the model; aider writes it as openai/ followed by the model’s id. Qwen Code uses an endpoint only when the key, the endpoint and the model are all set, and the editor says so when the model is missing.
List models
List models asks the endpoint itself which models it serves, with the profile’s saved key, only when you click it, or, at launch, when you paste an address into the Endpoint section, and never when the editor opens. Search the list and pick one to fill the Model field, which stays yours to edit. A refused key, an address with no list of models or a server that does not answer shows as a note under the button.
At launch, the Endpoint section, and Codex’s Model endpoint, start with a box: Paste a key or a URL. Paste a key or a server’s address and MaeVae fills in the matching fields, then lists the server’s models where it can, with the same request List models makes. Reading what you paste sends nothing, and your key goes to an address MaeVae does not recognize only when you click List models.
Grok is not Groq
Grok in MaeVae is xAI’s Grok, not Groq.
Limit. For a model set through the Model field, Qwen Code does not know the model’s context window, so the HUD’s context gauge stays empty for it. MaeVae still drives the agent’s own tool; the endpoint and model settings decide which model it uses.
- In the guide: Other models
- In the FAQ: What is the Endpoint field for?, What does List models do?, Grok or Groq?
Themes, pets, chimes and the status line
The look of MaeVae is yours to change, for the whole app or one profile at a time.
Themes and color
Quick settings holds the app theme, with dark and light built-in themes and an editor for your own, and an optional window animation. Each profile can carry its own pane theme and animation, its own color, which marks its pane and its rail entry, and its own colors for its name and its account label, from swatches or a custom picker. Leave a picker on Default to keep the theme’s color.
A profile also takes an icon, one of the drawn set or a picture of your own, and Quick settings sets the default brightness and contrast of the panes and the strip.
Chimes
Each profile can have its own notification chime, chosen from a long list you can hear by pointing at it in the editor. A master mute for every chime is in Quick settings.
-
Pets
Optional animated pets sit over a pane and react to its agent: one comes to the top and points when the agent needs your approval, celebrates when a turn finishes, dozes when the pane is idle and sits down when the shell exits. You can pet one with a click or drag it away, and pets never block typing or selection.
-
The status line
Customize HUD layout lays out Claude Code’s bar in the terminal, and Customize chrome strip lays out MaeVae’s strip around each pane; a profile can keep its own layout of either.
Limits. Chimes play through Windows audio, from the app itself. If the editor’s Preview is audible but real chimes are silent, Windows is sending MaeVae’s sound to another output device; set it in the Volume mixer. While MaeVae is in the tray, Windows can hold a chime back by up to about a minute.
- In the guide: Make it yours
The tray, closing the window, Panic stop
Closing the window hides MaeVae to the tray, and the sessions keep running.
Closing and coming back
The window’s close button sends MaeVae to the tray; every pane and its agent keeps running. Double-click the tray icon, or pick Show MaeVae in its menu, to bring the window back. Opening MaeVae again while it runs brings up the window that is already open, since it runs once.
Quit, and the waiting places
Quit, in the tray menu, ends every session and closes MaeVae. At launch, the next time it opens, every pane comes back in its place and in the same layout, as a waiting place with a Start button; nothing runs until you click. Start all in the top bar starts every waiting place whose profile is not held back by its Hard stop on the weekly quota; a refused place stays waiting. Remove takes a place off the stage, and a click on a profile in the rail starts its first waiting place.
Panic stop
Panic stop, in the top bar or in the tray menu, kills every agent running in MaeVae’s panes at once and clears the panes. In the top bar it asks for a second click first. At launch, Panic stop and Close all also forget the waiting places, so a restart after either starts with an empty stage.
Limit. Panic stop reaches only the agents in MaeVae’s own panes. An agent started from a Windows Terminal tab or a launcher runs on its own and has to be stopped there.
- In the guide: Close to the tray, Quit, Panic stop
- In the FAQ: What happens when I close the window?, What are the waiting places after a restart?
Coming next
Two things are in development. Neither is in the app today, and neither has a date.
-
Container mode
In development
An agent runs inside a container you choose, Podman, Docker or another, with only its project folder mounted.
-
macOS and Linux
In development
MaeVae runs on Windows 10 and 11 today. Versions for macOS and for Linux are next.
- In the FAQ: Is there a macOS or Linux version?