Repository navigation
Vimma 0.1.12 · Firefox 159.0
Updating
- macOS:
brew upgrade --cask vimma, or downloadvimma-0.1.12-macos-aarch64.dmg
below and drag Vimma over the copy in Applications. - Linux:
:updateshows the command for how you installed Vimma; the user guide's
Updates section lists them all.
0.1.12 · Firefox 159.0 (2026-10-30)
Added
- Vimma's own agent:
ctrl+b i(or:agent) opens a chat window where you write a task, watch every step in a plain-text transcript, add instructions or stop it. It runs a model you pick, a local one (Ollama, LM Studio, the llama.cpp server) or a hosted one (Anthropic, or an OpenAI-compatible endpoint, with its API key kept encrypted in login storage). Models are set up in the window's picker, which also switches a conversation's model, or under[agent]and[[agent.providers]]inconfig.toml, wherelocal_only,max_runningandkeep_daysalso live; a refusedconfig.tomlis named in the window. The agent works only in the agent workspace, through the same tools, grants and checkpoints as an MCP agent. Sending withEnterlets the conversation act without asking at each step,ctrl+Enterasks at every step, and sending a form or paying always asks in the window. Several conversations run at once, each on its own tabs, with step and token limits, and they are kept across restarts, encrypted, without the page text they read. The help overlay and its snapshots list the new key,agent_chatin the Agents group. - Agents (MCP):
vimma_open,vimma_activateandvimma_filltakeelements: trueand return the page's element list with the step, so an action and the next look are one call. Screenshots default to at most 1024 px, PNG or JPEG, whichever is smaller;full: truegives the full-size image.
- agent: a local model prunes older results rarely, a hosted one at 6 (#632) (cfa6793)
- agent: a model loop and provider adapters in vimma-core (#585) (b013457)
- agent: a model test bench on a local fixture shop (#590) (3bceaaf)
- agent: conversations kept across restarts (#620) (b8aa1c3)
- agent: older page content leaves the agent's context (#629) (9646b31)
- agent: switch the chat window model from its picker (#644) (b7ca66c)
- agent: the built-in agent's gate connections, providers and key storage (#595) (b72f466)
- agent: the chat window (#608) (140968e)
- ctl: one-time tickets bind a vimma-ctl connection to a conversation (#633) (fcc7efb)
- keys: a key opens the agent chat window (adbe2e2)
- mcp: agents open a site's search results by url (#616) (5301d81)
- mcp: compact element lists (#621) (16df595)
- mcp: steps return the page's element list; smaller screenshots (#588) (af4dca5), closes #584
Fixed
- Agents (MCP): pages that send a
Cross-Origin-Opener-Policyheader open in agent tabs instead of failing withNS_ERROR_DOM_COOP_FAILED. Agent tabs keep their pop-up sandbox; such pages lose onlycrossOriginIsolatedthere (docs/limits.md). - Agents (MCP): a step that lands on Firefox's error page is reported to the agent as an error naming the reason, instead of a success with an empty element list, so an agent no longer opens the same failing page again and again.
- Workspaces: tab search and the side panel no longer lose a window's tabs after the last window is closed and a new one opened (on macOS, from the Dock), or after a session restore that stops partway; until a restart they listed one tab while the status bar counted them all. The
:bugreport now shows the open tabs beside the workspaces' count and names a restore that never finished.
- agent: agent tabs load pages that send an opener policy (#645) (f6cd389), closes #640
- agent: an open that ends on firefox's error page is an error naming it (#651) (5f9710b), closes #643
- agent: the api key field never reveals the key (#627) (1ac8c22)
- agent: the chat header says "asks every step" only after ctrl+enter (#641) (846e2db), closes #535
- agent: the chat window names a refused config.toml instead of "no model set up" (#642) (20a341a), closes #639
- mcp: a rate refusal names its limit and when the next call is allowed (#594) (522071d), closes #592
- mcp: element labels last while their page and element do (#593) (1a5fb29), closes #591
- workspaces: the tab list survives a restore that never finishes (#631) (d6544b3), closes #630 #546
Changed
- Agents (MCP): a label from
vimma_elementsstays valid for as long as its page and element do, instead of expiring after 120 seconds, so a slow model's clicks and fills are no longer refused; labels drawn on a screenshot still expire after 120 seconds. - Agents (MCP): element lists are shorter. The explanation that every list repeated is in the
vimma_elementsdescription, sent once, and a list of a page on a site already listed leaves out the elements identical to the earlier list and names their labels, which still work (full: truelists every element).vimma_elements, andelements: trueonvimma_open,vimma_activateandvimma_fill, takequeryandkindsfilters. - Agents (MCP): an agent over a per-minute limit is told which limit it hit, that no question is waiting, and how long to wait, instead of a message saying questions are waiting.
- Agents (MCP): clicks and fills wait only while the page is busy instead of a fixed second; a fill without a submit returns at once, and a page counts as ready before its slow images finish. Sending a form or paying is caught exactly as before.
Third-party notice
The AppImage starts with the unmodified AppImage type-2 runtime 20251108 (MIT), which
statically links libfuse 3.15.0 under the LGPL-2.1-or-later. Its source:
https://github.com/AppImage/type2-runtime/tree/20251108. The licence text and how to relink or replace the runtime are in
usr/share/doc/vimma/ inside the AppImage (--appimage-extract). vimma-ctl links Rust's
standard library, and on Linux musl and LLVM's libunwind, into its binary; their notices are in
vimma-ctl-licenses/ next to it, or in Vimma.app/Contents/Resources/ on macOS. Vimma is
MPL-2.0; the CycloneDX SBOM lists the other components.