macOS 26+ · Apple Silicon · Public Release

Mattouch

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+
Mattouch app icon
Current Version
1.1.2
Bundles
5 additive tiers
Minimal Version
4.1 MB zip
Maximal Version
26 MB zip

Downloads

Current Mattouch

Consolidates shared app resources to prevent cross-feature races, stale state, duplicate work, and overlay crashes.

Mattouch (Window) Move and resize windows with hotkeys plus side-fill snapping
Complete Core window control is the stable baseline and expected to be correct on supported systems.
4.1 MB zip / 5.0 MB dmg
Mattouch (+ASR) Speech-to-text with hotkey with multiple STT/ASR model choices
Stable Dictation workflows are usable; model behavior can still vary by selected speech runtime.
8.1 MB zip / 9.5 MB dmg
Mattouch (+OCR) Search open windows with automated OCR of all window visible content at once
Usable Window search is functional, with accuracy affected by screen-recording permission and app content.
8.3 MB zip / 9.6 MB dmg
Mattouch (+VLM) Adds local AI image input models to window search features
Preview Local vision improves matching, while model download, runtime, and ranking behavior are still being tuned.
25 MB zip / 28 MB dmg
Mattouch (+Agent) Let the local AI models move your mouse and click things and type things too
Beta Agent planning is actively evolving and real actions remain guarded by allowlists and confirmations.
26 MB zip / 30 MB dmg

Application features

What Mattouch does

These are product capabilities, not release notes. Release-specific changes live in the release section below.

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.

Local by design

No analytics, remote reporting, update checks, or background network access. Network is used only if you choose to download external speech or AI models.

Controlled automation

The full tier can plan actions from a plain-language goal, while real clicks and typing stay behind app allowlists and confirmations.

Adaptive dictation

See live microphone levels and partial text, compare multiple speech engines, compose consensus results, and recover complete transcripts when one engine truncates its output.

Reviewable transcript rewrites

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.

Extensible local models

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

Pick the best build for features you want

Bundles are additive. Each row is a capability tier, its maturity, and the dependencies it adds.

BundleBest forStatusCapabilitiesDependencies
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
  • Move the window under the cursor
  • Resize the window under the cursor
  • Snap to halves, quarters, maximize, and center
  • Menu-bar controls and persisted configuration
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
  • Everything in Window
  • Opt-in microphone permission
  • Live microphone level and partial-transcript feedback
  • Multi-engine comparison, normalization, consensus, and previous-result recall
  • Complete-audio recovery and transcript truncation detection
  • Per-application dictation and rewrite profiles
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
  • Everything in +ASR
  • Opt-in Screen Recording permission
  • Window search prompt and result picker
  • OCR and text ranking for visible windows
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
  • Everything in +OCR
  • On-device VLM image descriptions
  • Reviewable on-device transcript rewriting with paired prompt presets
  • Extensible compatible Hugging Face text-model catalog
  • Live model download, cancellation, and local lifecycle controls
  • Vision-enhanced search ranking
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
  • Everything in +VLM
  • Describe a goal in plain language
  • Preview planned mouse and keyboard actions before they run
  • App allowlists, confirmations, and high-risk action controls
Full local inference stack

Release notes

What's new in 1.1.2

Consolidates shared app resources to prevent cross-feature races, stale state, duplicate work, and overlay crashes.

Fixed

Crash-safe status overlays

Replaced draw-time text construction in microphone and screen-inventory overlays with retained AppKit controls and layers, eliminating the observed CoreText crash class.

Fixed

Reliable hotkeys and audio sessions

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.

Changed

One consistent model inventory

Model Manager, selection controls, transcript review, and runtime reconciliation now consume the same versioned availability snapshot and reject stale refresh results.

Changed

Lower-overhead downloads and inference

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.

Fixed

Deterministic rewrite lifecycle

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.

Changed

Consistent surfaces and lower idle work

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

Local means local

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.

No network access

The app does not contact servers during use.

Model downloads only

Network access is used only if you choose to download external speech or AI models.

Not even any automatic update notices

No remote "update pings" or "update reminders" ever. Don't want to use new versions? Not our problem.

Support

Feedback and help

Questions, bugs, release feedback, and setup issues are welcome by email or in the community Discord.

Discord server Blip Blorp Join the community for setup help, feedback, and release discussion. Join Discord

Release history

Release archive

Every published version appears here, including the current Mattouch, with generated links for every bundle artifact.

VersionDateSummaryRelease notesDownloads
1.1.2 Current 2026-09-04 Consolidates shared app resources to prevent cross-feature races, stale state, duplicate work, and overlay crashes.
  • FixedCrash-safe status overlays
  • FixedReliable hotkeys and audio sessions
  • ChangedOne consistent model inventory
  • ChangedLower-overhead downloads and inference
  • FixedDeterministic rewrite lifecycle
  • ChangedConsistent surfaces and lower idle work
1.1.1 2026-08-29 Makes grab-anywhere window movement and resizing responsive in browser and other asynchronously rendered windows.
  • FixedResponsive browser window gestures
  • ChangedLower-overhead live resize
  • FixedScoped target compatibility state
  • ChangedProduction-path performance diagnostics
1.1.0 2026-08-23 A major dictation, transcript-rewrite, model-management, and grab-anywhere window-control upgrade.
  • NewAdaptive dictation and transcript consensus
  • NewReviewable transcript rewriting
  • NewData-driven rewrite preset library
  • NewExtensible Hugging Face text models
  • ChangedObservable model lifecycle
  • FixedComplete and visible speech capture
  • FixedExact grab-anywhere window gestures
  • ChangedRelease-grade UI and diagnostics
1.0.0 2026-06-07 Initial tiered release with five dependency-stripped macOS bundles.
  • NewTiered release bundles

Mattouch demo

Mattouch window control demo

fnOptionMove fnCommandResize
Hold a chord and move the pointer over the window