Window control
Point anywhere inside a window, hold a chord, and move or resize it directly. No title-bar grab or corner targeting is required, and snapping stays predictable across displays.
macOS 26+ · Apple Silicon · Public Release
Move and resize the window under your cursor with a modifier chord. Add only the local intelligence you want: dictation, window search, vision, or guided on-device automation. No analytics, reporting, or even automatic update checks.
Current Mattouch
macOS 26+Downloads
Consolidates shared app resources to prevent cross-feature races, stale state, duplicate work, and overlay crashes.
Application features
These are product capabilities, not release notes. Release-specific changes live in the release section below.
Point anywhere inside a window, hold a chord, and move or resize it directly. No title-bar grab or corner targeting is required, and snapping stays predictable across displays.
No analytics, remote reporting, update checks, or background network access. Network is used only if you choose to download external speech or AI models.
The full tier can plan actions from a plain-language goal, while real clicks and typing stay behind app allowlists and confirmations.
See live microphone levels and partial text, compare multiple speech engines, compose consensus results, and recover complete transcripts when one engine truncates its output.
Optionally rewrite a transcript with a local or configured API model, inspect the before-and-after diff, adjust a preset or one-run instruction, regenerate, cancel, edit, or keep the original.
Browse compatible Hugging Face MLX text models, inspect model metadata and disk requirements, and follow live byte-level download progress from one shared model lifecycle.
Release bundles
Bundles are additive. Each row is a capability tier, its maturity, and the dependencies it adds.
| Bundle | Best for | Status | Capabilities | Dependencies |
|---|---|---|---|---|
| Mattouch (Window) Core utility |
Users who only want fast chord-driven window control. |
Complete
Core window control is the stable baseline and expected to be correct on supported systems.
|
Move and resize windows with hotkeys plus side-fill snapping
|
No third-party runtime dependencies |
| Mattouch (+ASR) Adds dictation |
Users who want window control plus local speech-to-text. |
Stable
Dictation workflows are usable; model behavior can still vary by selected speech runtime.
|
Speech-to-text with hotkey with multiple STT/ASR model choices
|
Adds WhisperKit and FluidAudio |
| Mattouch (+OCR) Adds all-window search |
Users who want to find and raise windows by title, text, or visible content. |
Usable
Window search is functional, with accuracy affected by screen-recording permission and app content.
|
Search open windows with automated OCR of all window visible content at once
|
ASR dependencies plus Apple Vision/NaturalLanguage system frameworks |
| Mattouch (+VLM) Adds local vision |
Users who want richer visual matching without hosted inference. |
Preview
Local vision improves matching, while model download, runtime, and ranking behavior are still being tuned.
|
Adds local AI image input models to window search features
|
Adds MLX, mlx-swift-lm, swift-huggingface, and swift-transformers |
| Mattouch (+Agent) Full Full feature set |
Users who want local goal planning with control over any real action. |
Beta
Agent planning is actively evolving and real actions remain guarded by allowlists and confirmations.
|
Let the local AI models move your mouse and click things and type things too
|
Full local inference stack |
Release notes
Consolidates shared app resources to prevent cross-feature races, stale state, duplicate work, and overlay crashes.
Replaced draw-time text construction in microphone and screen-inventory overlays with retained AppKit controls and layers, eliminating the observed CoreText crash class.
Window gestures, dictation, and search now share one resilient input owner, while atomic microphone leases prevent dictation and voice search from clearing or replacing each other's active capture state.
Model Manager, selection controls, transcript review, and runtime reconciliation now consume the same versioned availability snapshot and reject stale refresh results.
Native byte progress is primary, recursive disk measurement activates only when that signal stalls, and matching MLX requests share one loaded model container without sharing conversation state.
Review and Rewrite Lab now share cancellation, generation identity, stale-result rejection, diff semantics, and status presentation while keeping each user's draft and one-run instruction local.
Panels use one multi-display placement policy, delayed dismissals cannot hide newer content, and active features share one maintenance cadence instead of running duplicate timers.
Privacy
Mattouch does not phone home. There is no telemetry, analytics, crash reporting, remote reporting, or automatic update check. If you want a newer version, come back here and compare the release archive yourself.
The app does not contact servers during use.
Network access is used only if you choose to download external speech or AI models.
No remote "update pings" or "update reminders" ever. Don't want to use new versions? Not our problem.
Support
Questions, bugs, release feedback, and setup issues are welcome by email or in the community Discord.
Release history
Every published version appears here, including the current Mattouch, with generated links for every bundle artifact.
| Version | Date | Summary | Release notes | Downloads |
|---|---|---|---|---|
| 1.1.2 Current | 2026-09-04 | Consolidates shared app resources to prevent cross-feature races, stale state, duplicate work, and overlay crashes. |
|
|
| 1.1.1 | 2026-08-29 | Makes grab-anywhere window movement and resizing responsive in browser and other asynchronously rendered windows. |
|
|
| 1.1.0 | 2026-08-23 | A major dictation, transcript-rewrite, model-management, and grab-anywhere window-control upgrade. |
|
|
| 1.0.0 | 2026-06-07 | Initial tiered release with five dependency-stripped macOS bundles. |
|