# MAO 0.11.6

Released 2026-10-20.

## Changes

- **Your theme can change every colour, corner and motion.** `theme.json` now reaches every theme value MAO draws with: colours, shadows, the corners of buttons and panels, the press, focus, selection and disabled looks, every duration and easing curve, the type families and sizes, and the terminal's palette in each room. Changing one accent, hover or primary colour moves every control that uses it. Layout stays fixed: sizes, padding and gaps are not theme values.
- **Your editor can help you write a theme.** MAO now writes `theme.schema.json` beside `theme.json`. A new theme file points to it, so VS Code, Zed and the JetBrains editors complete the keys and flag values MAO would not apply. In an older file, add `"$schema": "./theme.schema.json"` to get the same.
- **MAO tells you when your theme was not applied as written.** Settings, Appearance lists the keys it could not read, the values it clamped, and the colours it moved to keep text readable. The canvas shows a short notice when there is something to read there. If the file stops reading while you edit it, the last theme that worked stays on screen. Theme files from earlier versions still work.
- **`--help` on every `mao` command.** `mao <command> --help` prints how to use that command, and `mao --help` lists the task commands (`send`, `next`, `tasks`, `result`, `wait`) with the other agent commands. `mao ask` prints which task it sent before it waits, so you can still `mao wait` for it if the wait is interrupted.

## Fixes

- MAO no longer crashes when you open Settings while a layer, or a canvas kept open in the background, is on screen. Back up now and `mao backup` from there no longer crash either.
- A task sent right after `mao recruit` is no longer lost while the new agent is starting. It waits until the agent is ready, and long pastes get a longer pause before they are submitted.
- A result that reached its sender's terminal while that agent was not ready is no longer dropped. MAO delivers it, oldest first, once the agent can take it. Tasks requeued after a restart also wait for agents still resuming their sessions.
- Browser portals no longer hand out passwords. A password or one-time-code field shows only whether it is filled, in snapshots and in `mao portal text` and `mao portal html`.
- Browser portal snapshots list every option of a menu, tree or grid, not just the one in focus.
- `mao portal navigate` to a link that only changes the `#` part of the address no longer times out after 30 seconds, and back, forward, reload and `mao portal ua` finish reliably.
- Clicks and other pointer actions in a browser portal aim at where the element really is after scrolling, and report an error when the element is hidden, off screen or covered, instead of reporting success.
- `mao portal check` fails when the click did not change the box, `scrollintoview` skips hidden matches, and `fill` checks what the field holds and types the value key by key when a field does not accept it at once.
- On Windows, the maximize button restores the window again, and dragging the title area moves the window, with snapping and Snap Layouts.

Source: https://trymao.dev/changelog/0.11.6
