The flow editor now has true undo and redo — every canvas gesture and discrete config edit can be undone from the Edit menu with named steps. Also fixes spark-denominated zero cost readouts and stray ⌘T window tabs.
Adds true undo/redo to the flow editor: ⌘Z / ⇧⌘Z from the Edit menu with named steps ("Undo Delete Node"), backed by the native macOS undo system.
Every canvas gesture is undoable — delete restores the whole selection in one step, plus add, connect, drag-move, resize, paste/duplicate, and nudge.
Discrete inspector edits — toggles, pickers, weekday chips, hotkey and Bluetooth selections — are undo steps too.
AI cost readouts on a Watchflows Cloud subscription now show zero as ⚡0 instead of $0.00.
Disables macOS automatic window tabbing, so an accidental ⌘T no longer opens a tab bar the app never designed for.
v1.41.0
July 15, 2026Minor
Watchflows Cloud launches: optional subscriptions add hosted AI and a public webhook relay to the local-first app — no account required, and Cloud is always optional.
Watchflows Cloud: Standard ($12/mo) and Pro ($20/mo) plans bundle the app, hosted AI, and the webhook relay; the $5/mo Owner Bundle adds both to a purchased license.
Watchflows AI: run AI nodes with zero API keys — a monthly Spark allowance with a live usage ring in Settings → Cloud, non-expiring top-up packs, and a 7-day trial for license owners.
Watchflows Relay: the new Public Webhook trigger gives flows a public HTTPS URL at hooks.watchflows.app that securely forwards to your Mac — no port forwarding, no tunnels.
Licenses now arrive by purchase or subscription — the License pane offers direct checkout for both, and the new Cloud pane manages plan, renewal, and billing.
The one-time license is now $49.
Fixes: Spark balances update on the ring automatically after hosted runs; label wrapping in the Schedule pill and sidebar tiles.
v1.40.1
July 13, 2026Patch
Fixes the Agent node on subscription CLI providers and makes the in-app documentation fully usable — styled pages, working navigation, and a docs server that survives port conflicts.
Fixes the Agent node on Claude (Subscription) and ChatGPT (Subscription): tools now genuinely execute, with honest run traces instead of phantom tool calls or silent empty results.
Fixes the in-app documentation: pages render fully styled, sidebar navigation works from every page, and the docs server recovers automatically if its port is already taken.
Fixes documentation links that returned errors on watchflows.app.
The AI Flow Builder can now rename a flow on request, and recovers malformed drafts instead of failing the build.
Adds the Linear: Query Issues node to the Integrations docs, and form long-text fields now match the chrome of neighboring fields.
v1.40.0
July 12, 2026Minor
Adds calendar-recurring Schedule triggers — fire on chosen weekdays at a set time, with catch-up for runs missed while your Mac was asleep — plus a Linear: Query Issues node and a directory field for Forms.
Calendar schedules. The Schedule trigger can now fire on a weekly calendar — chosen weekdays at one local time of day (e.g. "Weekdays at 7:00 AM") — with catch-up for occurrences missed while the Mac was asleep or closed, and DST-safe timing. New Schedule nodes open in calendar mode; interval mode is one click away.
Linear: Query Issues. A new node finds Linear issues — your assigned, the current cycle, or a project's — and passes them into the flow as real data. A matching read-only agent tool lets an AI Agent pull issues too.
Directory field for Forms. Forms can collect a folder via a folders-only picker field, emitting a clean path downstream.
Reliability fixes. Number fields can be cleared and retyped; Write File rejects an empty/root path with a clear error; execution-drawer dividers resize smoothly.
Form polish. Reorder fields by dragging the whole row card; directory picks emit a bare POSIX path (no file: prefix).
v1.39.0
July 11, 2026Minor
Adds Form nodes — collect input on demand or mid-flow through a native floating form panel — plus a destination picker and local-image embedding for the Linear Create Issue action.
Adds Form nodes: a Form trigger and a mid-flow Form action present a native floating panel that collects text, numbers, selections, toggles, and files — including a multi-image field — with drag-to-reorder field authoring and Flow Builder support for drafting forms
Adds a destination picker to the Linear Create Issue action: pick the account, team, and project from one sectioned dropdown, backed by a new integration entity registry
Form select fields can load live options from connected integrations when the form opens (e.g. choosing a Linear destination at run time), on both the trigger and mid-flow forms
The Linear Create Issue action can upload and embed local images into the issue body, and accepts a JSON array of image paths
Fixes MCP agent runs treating always-active flows as disabled
Adds documentation pages for both Form nodes
v1.38.0
July 9, 2026Minor
Watchflows can now report crashes and errors to help fix them — strictly opt-in, errors-only, and fully auditable. A new Privacy tab shows the complete, scrubbed contents of every report ever sent, so you can see exactly what left your Mac.
Opt-in error reporting — a first-run prompt and a Settings toggle let you turn on crash/error reporting; it stays off unless you say yes, and existing users get the same opt-out prompt on upgrade (WAT-268, WAT-269).
Errors only, always scrubbed — reports capture node and AI-provider failures with prompt content and sensitive values stripped out before anything leaves your machine (WAT-270).
AI failures become diagnosable — failures from the Flow Builder, Explain This Code, and AI nodes are classified by cause and tagged with the provider so recurring problems can be pinpointed (WAT-273, WAT-275).
Transparency ledger — every report ever sent is recorded locally, giving you a complete history to review (WAT-276).
Auditable Privacy tab — a new Privacy tab in Settings shows the full, sanitized payload of each report, with search, so you can verify exactly what's transmitted (WAT-285).
v1.37.0
2026-07-07Minor
Adds ChatGPT (Subscription) — a new AI provider that runs your AI nodes on your ChatGPT Plus/Pro plan through the Codex CLI, with no API key and no added charge.
New "ChatGPT (Subscription)" AI provider — sign in once with codex login and use your ChatGPT plan for AI nodes; usage is metered at $0 since it draws on your plan (WAT-244–249).
Vision — ChatGPT nodes can analyze images: screenshots, fetched photos, or a Photo Added trigger (WAT-265).
AI Agent on ChatGPT — the full tool-using Agent loop runs on this provider (WAT-251).
Friendly limit & sign-in cards — when your plan is drained or you're signed out, nodes surface a clear, actionable card instead of a raw CLI error (WAT-250).
Image URLs as vision input — AI and OCR nodes now accept http(s) image URLs (hardened fetch), not just local files (WAT-264).
Docs — a new ChatGPT (Subscription) provider page, plus both subscription providers added to the Supported Providers table (WAT-252).
v1.36.0
2026-07-05Minor
Apple Intelligence now works out of the box: on a supported Mac, AI Prompt nodes run on Apple's private, on-device model with zero setup and no cost. Flow Builder steers you toward a capable model instead of the small on-device one, plus a settings fix.
Apple Intelligence, zero-config: on a Mac with Apple Intelligence enabled, Watchflows sets up the on-device model automatically, so AI Prompt nodes run with no API key, no setup, and no per-request cost, fully on-device.
Flow Builder picks the right model: it no longer silently builds flows with the small on-device model, and prompts for a capable one instead. An explicit choice of the on-device model is still honored, with a note that it's small.
AI Defaults settings fix: a model role pointing at a removed provider no longer shows a blank provider dropdown; it falls back to "use default provider."
Documented the Apple on-device provider and its honest limits, in-app and on the marketing site.
v1.35.2
July 3, 2026Patch
Fixes script nodes failing to find Homebrew-installed command-line tools, and makes "command not found" errors explain themselves.
Run Script nodes and AI Agent scripts now find command-line tools installed in /opt/homebrew/bin, /usr/local/bin, and ~/.local/bin — previously tools that worked in Terminal failed with "command not found" inside Watchflows.
Script failures with exit code 127 now explain that Watchflows doesn't load your shell profile, and suggest using the command's absolute path or extending PATH at the top of the script.
The AI Agent's built-in git and GitHub tools now resolve gh correctly when the app is launched from Finder.
v1.35.1
July 3, 2026Patch
Adds drag-and-drop state changes from the home screen: drag a flow onto a sidebar row to change its state, the same way you already drag flows into folders.
Drag a flow onto Active, Disabled, or Favorites in the sidebar to enable, disable, or favorite it — the drag counterpart to the existing right-click actions.
Drag a flow onto Trash to soft-delete it; drag it back out onto a live row to restore it (restored flows land disabled, with their favorite state preserved).
Derived sidebar rows (AI, Needs attention) don't accept drops and won't highlight during a drag.
v1.35.0
July 3, 2026Minor
Watchflows can now run its AI on your Claude subscription — AI nodes and Agents alike — with no API key. Also adds in-app feedback and a reorganized home sidebar.
New Claude (Subscription) AI provider: power AI nodes and AI Agents with your Claude Pro or Max plan through the Claude Code CLI — no API key, $0.00 metered cost
Guided setup card detects your Claude Code install and sign-in status, with clear in-app cards when your plan hits its usage limits
Flow Builder drafts now run on your default provider and model instead of failing on unfilled placeholders — and unset provider/model pickers show which default they'll use
Agents built by the Flow Builder get least-privilege tool selection, and scope-gated code tools stay disabled until a File Access Scope is set
Send Feedback from inside the app — signed reports delivered straight to support
Home sidebar reorganized into State and Views sections with single-select scopes
Fixes: a crash when AI model lists loaded concurrently, menu-bar Stop not halting live emitter streams, and provider settings surviving version downgrades
v1.34.1
July 2, 2026Patch
Fixes canvas wire visuals after runs, the Home status indicator, and Flow Builder schedule intervals.
Run glow now lights only the wires a run actually traversed, instead of every connected branch
Active and selected wires use neutral grey dashes so the highlighted path stays readable
Home status dot now shows the flow's lifecycle state with canonical glyphs (pause for disabled, deleted state) instead of run health
Schedule intervals chosen by the Flow Builder no longer silently fall back to 5 minutes
v1.34.0
July 1, 2026Minor
Adds Apple Intelligence (Apple's on-device Foundation Models) as a private, zero-cost AI provider, with graceful handling when a request is too large for its on-device context window.
Apple Intelligence provider — run AI nodes on Apple's on-device model: no install, no API key, no cost, and nothing leaves your Mac (structured output via guided generation).
Availability-aware — the provider shows disabled with a reason when your Mac can't run it (needs macOS 26 + Apple silicon + Apple Intelligence enabled).
Graceful "too large" handling — when a request exceeds the on-device model's small context window, a clear "switch to a bigger model" nudge with a one-click jump to AI Defaults replaces the generic error.
v1.33.0
2026-07-01Minor
Adds an opt-in Failure outlet to AI nodes so a workflow can catch an AI error and continue down a recovery path instead of failing the whole run.
AI nodes gain a "Failure" outlet — wire it and a thrown error (provider down, model unavailable, schema-validation failure, agent stall) routes to a recovery branch instead of failing the run, which now finishes successfully.
The failure branch carries {{error}} (the human-readable message) and {{errorType}} (a stable category like apiError) so you can branch on it or send it to a notification.
Opt-in and safe: leave the outlet unwired and behavior is unchanged. Works on both the AI Prompt and Agent nodes.
v1.32.0
June 30, 2026Minor
Watchflows AI Agents can now manage Linear issues directly — create and update tickets from inside a flow, with no dedicated Linear node. Plus a workspace picker, friendlier team targeting, and a small site update.
AI Agent nodes can create and update Linear issues via new linear_create_issue / linear_update_issue tools, so a flow can file or update a ticket itself. Uses your connected Linear account; off by default.
A Linear Account picker on the Agent node lets you choose which connected workspace it acts in when you have more than one connected.
Reference a Linear team by its key (e.g. WAT); the tool resolves it to the right team automatically.
The How It's Built stats panel now credits "2 developers, with AI."
v1.31.0
June 29, 2026Minor
A lightweight code agent (beta) comes to the AI Agent node — point it at a folder and it can map the repo, make safe edits, and branch, commit, and open a PR — alongside a new Add-to-Calendar action, Trash for flows, and a rebuilt Flow Builder composer.
Lightweight code agent (beta): point an Agent node at a folder (File Access Scope) and it gains a structural repo map, fail-safe file edits, and curated tools — search code, run git, and open a pull request — via a one-click Code Agent (Beta) preset. Built for small fixes and triage; ships as beta while we gather feedback.
Add to Calendar: a new action node creates macOS Calendar events from a flow.
Trash for flows: soft-delete with restore and permanent-delete, replacing irreversible deletion.
Flow Builder composer overhaul: paste images, a growing multi-line input that docks as you type, and a Stop button to cancel a generation mid-run.
Map Keys rebuilt: reshape payloads with {{ }} value templates and the variable picker; legacy nodes upgrade automatically.
More reliable AI extraction: AI nodes no longer reject valid JSON that a model wrapped in a markdown code fence.
Plus: toolbar rollover states, an Input Folder type, a shareable community install link, an empty-state Flow Builder fix, and composer and inspector polish.
v1.30.1
June 27, 2026Patch
Fixes the Input trigger’s “Prompt at Run” mode not prompting when a flow is run from the menu-bar app, and turns the Apple Calendar trigger’s Calendar field into a pick-from-your-calendars dropdown.
Fixed: an Input trigger set to “Prompt at Run” now shows its prompt when you run the flow from the menu-bar app — previously it ran silently with the default value.
The Apple Calendar trigger’s Calendar field (config and Test Input) is now a dropdown of your Mac’s calendars instead of free text — no more typos.
v1.30.0
June 27, 2026Minor
Adds a Folder Dashboard and the first cloud integrations — an Apple Calendar trigger and Linear actions — alongside home-screen polish and node output fixes.
Folder Dashboard — open a folder to get a right-side inspector showing its health, 14-day activity, reliability, lifetime AI cost, and what it's watching. All computed locally; no AI.
Integrations — connect Linear (Settings → Integrations) to file issues and add comments from your flows, plus a new Apple Calendar trigger that fires when events are created, edited, or deleted.
Input trigger "Prompt at Run" — ask for text, JSON, or file input at the moment a flow runs.
Home polish — a recency-based 4-state flow-health dot, a refined pinned header bar, and New Flow now lands in the folder you're viewing.
Node outputs — API Request and the OCR/PDF nodes now advertise their real output variables for easier downstream wiring.
Hardened the community flow-sharing pipeline.
v1.29.3
2026-06-23Patch
A bug-fix release: test runs of file-watching flows now carry the file extension, plus two Home-screen rendering fixes.
Directory Changed / File Changed / Photo Added test runs now include fileExtension (and fileType / photo availability), so a condition like fileExtension == "wav" matches on a test run instead of falsely routing to No. Real file events were already correct — this fixes the manual "Test" path.
The Home screen no longer jitters when you drag the window edge or the sidebar divider.
A running flow's pipeline preview stays legible on the "Running now" band (it was rendering nearly transparent).
v1.29.2
June 22, 2026Patch
The AI Flow Builder now creates a single multi-rule Condition instead of chaining nodes, plus fixes for group-dragging sub-flow nodes and searching the community catalog.
AI Flow Builder builds one Condition with multiple rules: ask for "a .wav file and the name contains 'riverside'" and you get a single Condition node with an AND/OR toggle, instead of two chained Condition nodes.
Group-drag in a Run Watchflow preview: selecting several nodes in a linked-flow ("shadow") preview and dragging now moves the whole group together, instead of collapsing to just the node you grabbed.
Community catalog search matches what a flow does: searching now looks at each flow's description, so read-only flows are findable by their summary — not just name or author.
v1.29.1
June 21, 2026Patch
Fixes Community Flows sharing errors and deep-link installs, and adds a Community Flows guide to the docs.
Sharing errors now explain what happened (e.g. "You can share up to 3 flows per day — please try again tomorrow.") instead of a generic error code.
Installing a community flow via its link now opens in your existing Watchflows window instead of launching a second copy.
Added a Community Flows page to the documentation.
v1.29.0
June 21, 2026Minor
Introduces Community Flows — share a workflow to a public, reviewed catalog and install others' flows with one click, all without an account or server.
Share to Community — publish any flow from the Share menu; your license is the credential (paid, account-free, with a pseudonymous screen name).
Reviewed before it's public — every submission is scanned for embedded secrets, has destructive actions flagged, gets an AI safety review, and requires human approval before it goes live.
Browse & search at watchflows.app — a community gallery with search, safety filters, and an AI-written summary on each flow card.
One-click install — install a shared flow straight into the app via a watchflows:// link, with a confirmation step for flows that can modify files.
Your data stays local — flows are secret-scanned and home-folder paths are redacted before anything is published.
v1.28.0
June 20, 2026Minor
Folders are now the way to organize your flows — create them, drag flows in, and give each a color and a custom icon.
Organize with folders: create folders in the sidebar (with a color and a searchable custom icon), drag flows into them, and pull them back out. Folders are now the single organizing model — the old "By Trigger" grouping was removed (a flow's trigger still shows on its card/row).
Drill into a folder from the sidebar or list and get a breadcrumb view, in both card and list layouts; flows in no folder live in a "No Folder" group.
Rename flows and folders, and delete folders, right from the sidebar/list (right-click).
The menu-bar runner now groups flows by folder (with colors), and its AI section lets you set the provider, default model, and default image model directly.
Recent Runs now loads 25 at a time, plus a fix so deep-linking to a run reliably scrolls to it.
New Medium text size between Default and Large.
v1.27.3
June 20, 2026Patch
Favorites are now a filter rather than an always-on group — favorited flows stay in their normal trigger group instead of being pinned to the top of the list.
Removes the always-on "Favorites" group from the Home flow list (card view), matching the table view — favorited flows now appear in their trigger group like any other flow.
Removes the same always-on "Favorites" band from the menu-bar popover.
Favorites still show a star and remain reachable via the Favorites filter in the sidebar and the menu-bar popover.
v1.27.2
June 20, 2026Patch
Fixes favorited flows disappearing from the list view, and the sidebar filters doing nothing on the Recent Runs screen.
Fixes favorited flows vanishing from list view — favoriting a flow no longer makes it disappear, and the Favorites filter now correctly shows your starred flows (regression from v1.27.1).
Fixes the left-sidebar filters (Library and By-Trigger) being a silent no-op on the Recently Run Flows screen and behind an open canvas — tapping one now returns you to the filtered Home view.
v1.27.1
June 20, 2026Patch
Adds a Favorites filter to the home sidebar so you can view just your starred flows.
New Favorites entry in the sidebar's Library section, directly under All flows, with a live count — selecting it filters the main view to flows you've starred.
Removes the now-redundant standalone Favorites group from list (table) view, since favorites are now reachable from the sidebar.
v1.27.0
June 20, 2026Minor
Adds a Recent Flow Runs screen — an all-flows view of your run history with filtering, search, sorting, and per-run cost breakdowns.
New Recent Flow Runs screen, opened from the sidebar's Recent Runs "View All" chip — an all-time, paged table of every run across all your flows.
Filter toolbar: filter runs by flow, status, date range (with a click-to-select range calendar), run time, and cost — plus a search box.
Sortable columns (flow, status, started, run time, cost).
Summary cards for the filtered view — run count, success rate, and total run cost — that update live as you filter.
Click a run's cost for a per-model breakdown, or click a run to open its flow with that run preselected in the execution history.
v1.26.0
2026-06-20Minor
Adds AI usage & cost tracking — Watchflows now captures token usage and dollar cost for every AI call, attributes it per flow, and surfaces it across the run log, a sortable Cost column, and a per-surface breakdown you can drill into.
AI cost tracking: every AI call's tokens and cost are captured and attributed to the flow that ran it, priced against a 336-model OpenRouter catalog that refreshes at runtime (prompt, agent, and flow-builder surfaces).
Cost in your flows list: table view gains a sortable Cost column and cards show a lifetime cost chip; click either to open a per-surface breakdown (Flow Runs / Flow Builder / Explain This + Total).
Run log cost: a cost chip and a Replay chip in the run-log header, plus captured Note content in the log.
Native home toolbar and two-state status: the home header was restructured to a Mac-native layout, and a flow is now simply Active or Disabled.
Note improvements: recolor all selected notes at once from the toolbar picker.
Keep-Awake in the menu bar: the Keep-Awake toggle moved into the menu-bar popover (under search), so you can keep your Mac awake on demand from anywhere.
v1.25.0
June 19, 2026Minor
A big release: the node library gets a two-level palette with new Files and Apple categories, and the AI gains real debugging — it can read a flow's run history to explain failures, route images to the right model automatically, and enforce JSON output schemas at the provider level.
Redesigned node library — a two-level palette (browse category cards, drill into a category's nodes with a plain-language explainer), plus new Files and Apple categories split out of the oversized Actions group.
Diagnose failed runs — the AI Flow Builder and Explain-This-Code can read a flow's recent run history to explain why a run failed and suggest fixes, without rebuilding the flow.
Per-provider Default Image Model with content-aware routing — image requests use your vision model, text stays on the default, and an explicit model choice is always respected.
Native structured output — when a provider supports it, AI Output Schemas are enforced at the API (required keys guaranteed), with graceful fallback to prompt validation otherwise.
Flow Builder authoring improvements — descriptive node names, custom-argument map editing, the vision image-source binding now survives edits, and trigger chips in the flow summary.
Fixes — fuller AI responses (higher token defaults), more reliable failure diagnosis (scans the last 20 runs), Explain-This-Code chat cleanup, and canvas/inspector polish.
v1.24.0
June 18, 2026Minor
Adds global text-size scaling across the whole app, turns the Home empty state into a describe-a-flow AI builder, and makes the AI Flow Builder noticeably smarter and more reliable.
Text size everywhere — ⌘+ / ⌘− / ⌘0 scale text across Home, the canvas, and the code-review surfaces; canvas zoom moves to ⌃⌘+ / ⌃⌘− / ⌃⌘0.
Describe a flow from an empty Home — when AI is configured, the Home empty state invites you to describe a workflow and builds it for you.
Replay a past run — a green ▶ on any run in the history replays it with its exact captured trigger input, recording a fresh run.
Smarter AI-built file flows — the builder routes by the file type the trigger already provides (no redundant extraction nodes), keeps branches mutually exclusive with a proper catch-all, and stops asking for your username (home paths resolve automatically). Adds a Sort Downloads by Type starter template.
Refinements reflow the canvas — adding a node during a refine re-lays-out the whole flow so nodes never land on top of each other.
Fixes — Map Keys (mappings) config now saves and takes effect; the refine box reads Refine this workflow when a flow already exists.
v1.23.0
June 18, 2026Minor
Adds "Explain this code" to the Run Script node — an AI review that explains a script in plain English, rates how safe it is to run, and can even rewrite it for you — plus a card-style flow summary and a couple of Flow Builder fixes.
"Explain this code" on Run Script — open a full-screen review of any script: a plain-English explanation, an at-a-glance safety rating, and a chat where you can ask questions or have the AI rewrite the script (including switching between Bash, Zsh, and Python). Edits save straight back to the node, with one-tap undo, and the conversation is remembered per node.
Flow-aware answers — the review knows how the node fits in your workflow (what feeds it, what consumes its output), so it can tell you whether a change works with the rest of the flow.
Card-style flow summary — the inspector now shows Nodes, Connections, and Triggers as clean metric tiles.
Note nodes are no longer flagged as "never executes" — they are annotations with no ports, so validation skips them.
Flow Builder fixes — the chat capsule re-centers when you clear the canvas, and the generating bar no longer overlaps its icons.
v1.22.0
June 17, 2026Minor
Adds a menu-bar popover for running and watching your flows without opening the app, and makes the AI flow builder noticeably more useful — generated flows now include markdown notes anchored to the nodes they explain.
Menu-bar popover — run any flow, watch its node-graph light up live as it executes, and filter by status, trigger, or node type, all from the menu bar.
AI builder writes notes — built flows now include explanatory notes with markdown styling (bold, code, headings), anchored next to the node they describe, on a cleaner sloped layout.
Drag-and-drop file input — drop a file from Finder onto an Input trigger to set it to file mode with the full path filled in.
Map Keys picker now offers the remapped keys the node actually emits.
Fixes a duplicated Headers label in the API Request node inspector.
v1.21.0
June 16, 2026Minor
Adds Run Watchflow — call your other saved flows from inside a flow and watch them run as live previews on the canvas — alongside a smarter Flow Builder, a toolbar update indicator, and a menu-bar stability fix.
Run Watchflow node. Run up to three saved flows inline. Each renders as a live, dimmed preview branching off the node, with three outlets: Flow (the embedded subflow), Done (its result — handed through directly for one flow, or namespaced per flow when several run), and Pass-through (your original input). Recursion, depth, and fan-out guards plus live playback.
Smarter Flow Builder. Answers explanatory questions conversationally instead of forcing a 'modify?' prompt, and always builds a runnable flow with a trigger.
Custom arguments flow into subflows and appear in the variable picker.
Update status moved to its own toolbar pill, and the sidebar W mark pulses whenever something's running.
Home table view gains a grouping toggle and clearer Active/Draft language.
Fixes a menu-bar crash by replacing the SwiftUI menu-bar item with a stable AppKit status item.
v1.20.1
June 14, 2026Patch
Fixes the macOS app icon still showing the old wave logo in Stage Manager, Finder, and Mission Control.
Updates the bundled app icon to the current node-mark, so Stage Manager, Finder, and Mission Control no longer display the old wave logo.
v1.20.0
June 14, 2026Minor
Workflows can now reliably use the JSON that AI and other nodes produce — individual fields are addressable downstream — and the Math node can no longer crash the app on unexpected input.
Upstream JSON is usable downstream: AI, Agent, Apple Notes, Apple Reminders, and API Request nodes now emit real objects and arrays, so you can reference specific fields with dot-notation and array indexing (e.g. {{result.count}}, {{results.0.snippet}}) in any node config or condition.
AI responses wrapped in a markdown json code fence are now parsed automatically.
The Math node no longer crashes the app on non-numeric input — it fails that node cleanly instead.
The Notification node now has an output, so you can chain steps after it.
The Variables panel surfaces an upstream node's actual nested fields after a run, making them easy to insert.
Settings is reachable from the UI — a gear button on the Home toolbar and a Settings… item in a flow's More menu (⌘, still works).
The first-run welcome tour no longer reappears for users who already have flows.
v1.19.0
2026-06-14Minor
Adds a Bluetooth Scan action node — check which of your Mac's paired devices are connected right now and branch on it with a plain true/false.
New Bluetooth Scan action — reads your Mac's paired/connected device table on demand (a fast local read, not a radio sweep). Pick a target device and get a targetDeviceConnected true/false you can wire straight into a Condition.
Live "Choose a Device" picker — lists your devices with connected ones pinned first, so you select by name instead of a Bluetooth address.
Two outlets — Done fires once with the rollup (device count, comma-joined names, the booleans); Each Device fans out downstream once per device, with each device's details available in the variable picker.
"Include paired but offline" toggle — widen the scan from connected-only to every paired device along with its connection state.
Docs for the new node are on watchflows.app.
v1.18.0
June 14, 2026Minor
Introduces the AI Flow Builder — describe a workflow in plain English and watch Watchflows build it on the canvas — plus Keep Mac Awake controls, a selectable app icon, and file-type sorting.
AI Flow Builder — Describe what you want in a chat on the canvas and Watchflows builds, validates, and animates the flow into place against any configured AI provider (local or cloud). Follow-up messages refine the flow while preserving your manual edits. On by default.
Keep Mac Awake & Allow Sleep nodes — Hold your Mac awake for the length of a flow (or a set timeout), with a menu-bar status, live countdown, and one-click "let it sleep now."
Selectable app icon — Choose a Light, Dark, or System app icon; the in-app brand mark follows your choice.
Sort files by type — File and Directory triggers now expose fileExtension and fileType, so "organize my Downloads by type" is a two-node flow.
Cleaner results for AI agents (MCP) — Flows run through the MCP server return just the answer, not the full execution trace.
Fixes — Timeline folds long runs of blank log lines; AI Agent default prompts return the answer, not a process recap; nodes drop under the cursor by their title bar; copy toast reads correctly in light mode.
v1.17.0
June 13, 2026Minor
Adds AI Agents (MCP): connect Claude, Cursor, Codex, and other MCP clients to run your workflows as tools — opt-in, local, and token-secured. Opening an already-running flow now shows its live progress on the canvas.
New: AI Agents (MCP). Let Claude, Cursor, Codex, and other MCP clients discover and run your flows. Off by default — turn it on in Settings → AI Agents.
Each exposed flow is its own named tool with explicit, typed inputs, so the agent never has to guess what to pass.
One-click Connect. Wires up Claude Desktop directly and gives copy-paste snippets for Claude Code, Cursor, Windsurf, VS Code, and Codex.
Flows return a clean result back to the calling agent — pick exactly which node's output to hand back.
Menu-bar quick-toggle to turn AI Agent access on or off at a glance.
Canvas live progress when you open a flow that's already running (background or agent-triggered).
v1.16.0
June 12, 2026Minor
Redesigns the Home empty state, the first screen before you've built anything, with a live preview and a one-click path to your first flow.
New Home empty state with a live ghost preview of a sample mini-flow on the canvas.
A prominent "Build your first flow" button so a brand-new canvas gets you going in one click.
A playful slot-reel hover animation on the starter cards.
v1.15.0
June 12, 2026Minor
Adds Bluetooth device events to the System Event trigger, run flows when a device connects or disconnects, with rich device details for downstream nodes.
Adds Bluetooth Device Connected and Bluetooth Device Disconnected options to the System Event trigger
Events carry typed device details, name, address, kind (headphones, keyboard, mouse…), transport (classic/BLE), paired status, and vendor/product IDs, for use in conditions and downstream nodes
Device Name Filter and Paired Devices Only options scope which devices fire; Paired Devices Only is on by default so events match what the Bluetooth menu shows
Disconnect events settle for 3 seconds, so AirPods auto-switching between your Apple devices won't fire spurious events
The first time you arm a Bluetooth flow, macOS shows a one-time Bluetooth permission prompt
v1.14.0
June 12, 2026Minor
Fixes vision-model support for local AI providers, vision-capable models like Gemma on LM Studio now work with images, and makes the AI node's image input strictly opt-in.
AI nodes now verify vision support with your provider (Ollama, LM Studio) instead of a fixed model list, so vision-capable models work even when Watchflows doesn't recognize the name.
Models whose vision support can't be verified are sent the image anyway with a warning in the execution log, instead of being blocked.
The AI node's Image field is now strictly opt-in: leave it empty and no file is attached. Flows that relied on the old auto-attach behavior should pick {{filePath}} in the Image field, the execution log shows a hint when that applies.
The LM Studio provider accepts an optional API key for token-protected servers.
The inspector now shows the runtime default an empty picker field will use when the flow runs.
An empty canvas now shows a ghost pipeline hinting where to start.
v1.13.0
June 12, 2026Minor
Redesigns the Home screen around a flow gallery and table with live run activity, and refreshes the entire app with a new uniform color palette.
New Home screen: flow gallery and table views with run sparklines, "Running now" sections, pipeline previews, and a remodeled sidebar with library/trigger filters and recent runs
Finder-style multi-select in the table view: shift+click ranges, ⌘-click toggles, bulk delete, and "New Folder with N Flows" from the selection
New "Soft jewel" color palette across canvas nodes, Home cards, sidebar, inspector, and docs, uniform color weight with white header text everywhere
Bulk deletes are now batched (deleting many flows no longer hangs the app), and deleting an armed flow now stops its trigger watchers
Fixes shift+click range selection breaking when flows started or finished runs mid-selection
Fixes the Discord invite link on the site (now permanent)
v1.12.0
June 12, 2026Minor
Adds stackable rename operations with a step-by-step pipeline editor, plus a new Image Metadata (EXIF) node, and fixes timer duration badges, a sidebar freeze, and more.
Rename File now stacks operations, slugify, add date, find & replace, regex, and more, in a pipeline editor that previews the filename after every step
New Image Metadata (EXIF) node reads capture date, camera, lens, and GPS from photos (e.g. rename photos by the date they were taken)
Timer nodes keep their measured durations when viewing a past run, start/stop pairs show matching times, and sub-second readings are now accurate
Fixes a freeze (spinning beachball) caused by an infinite layout loop in the sidebars
The workflow switcher now spans the full sidebar width
v1.11.0
June 11, 2026Minor
Workflows no longer re-trigger themselves: a flow that renames or moves files in its own watched folder now runs once instead of looping, and runaway loops are auto-paused with a warning.
A workflow's own file actions (rename, move, zip, delete, …) no longer re-fire its trigger, other workflows watching the same folder still fire normally
Adds a loop circuit breaker: a workflow caught re-triggering itself repeatedly is automatically paused, with a notification and a record in Recent Activity
AI-generated file names are cleaned up automatically, wrapping quotes, labels like "Filename:", and stray newlines are stripped, and colons become dashes so Finder displays names correctly
v1.10.1
June 11, 2026Patch
Fixes a runaway loop where a workflow moving files into a subfolder of its own watched folder re-triggered itself and renamed the file endlessly.
The "Watch Subdirectories" toggle is now enforced, with it off, files inside subfolders no longer fire the trigger
Move File no longer renames a file (Example-1.dmg, Example-1-1.dmg, …) when it is already at the destination, it now completes as a no-op
Fixes a related edge case where moving a file onto itself with Overwrite on could delete the file
v1.10.0
June 11, 2026Minor
Adds a back-to-home button to the canvas toolbar so you can leave a flow without opening the sidebar.
Adds a leading back chevron to the canvas toolbar that returns to Home, with tooltip and accessibility label
Adds a View → Back to Home menu command with Cmd+[ (standard macOS Back idiom; disabled while on Home)
Removes the redundant sidebar header chevron so a single, stronger affordance owns navigation
v1.9.0
June 11, 2026Minor
Adds the ability to disable nodes without removing them from a flow, select and press D, right-click, or use the switch in the inspector.
Disable/enable nodes: a disabled node passes payloads through unchanged and performs no work, handy for testing a flow without side effects (or without spending AI tokens)
Disabled conditions continue down the Yes branch; disabled loops run zero iterations; disabled triggers don't fire
The D key now toggles disable, use Delete or Backspace to delete (changed from v1.8.0)
Flows whose triggers are all disabled refuse to arm and tell you why, instead of showing as Active while unable to run
Duplicate and paste preserve a node's disabled state
VoiceOver now reads node cards on the canvas, including their disabled state
v1.8.0
June 10, 2026Minor
Adds canvas quality-of-life: right-click to add nodes anywhere, a quick d keyboard shortcut, and {{variable}} templates in the While node's condition, plus clearer trigger controls.
Right-click (or control-click) on empty canvas opens the add-node menu; the chosen node is placed at the click point
Press d with nodes selected to delete them (Delete/Backspace still work). Superseded in a later release: d now disables/enables the selection; use Delete/Backspace to delete
While node: the condition value now supports {{variable}} templates, re-evaluated each iteration; the condition field accepts nested dot-paths like data.done
The home screen's master trigger switch is now labeled "All Triggers" with help text, and arming a flow while globally paused reliably re-arms your other enabled flows
Removed the Integrations settings tab, it held an ElevenLabs key field that no node used
v1.7.0
June 10, 2026Minor
Adds a variable picker to the Condition node, pick payload fields from a dropdown and use {{variable}} templates in comparison values, plus a new Rename File action.
Condition node: the field to compare is now picked from a dropdown of upstream variables instead of free-typed, with a custom-key option for nested paths like body.message
Condition node: comparison values now support {{variable}} templates, matching the rest of the app
New Rename File action, rename a file in place
Docs site: node pages gain search, related-node links, and card-grid navigation
Internal groundwork for the upcoming AI Flow Builder (no user-facing changes yet)
v1.6.1
June 9, 2026Patch
Usability tweaks to the For Each and Zip nodes, pick variables from dropdowns instead of typing key names.
For Each, "Array Key" / "Item Variable" are now "Loop Over" and "Each Item As", and "Loop Over" is a variable-picker dropdown so you choose the list to iterate (e.g. a files array) instead of typing its key.
Zip, the Source field is now a variable picker too, matching Unzip's Archive Path.
For Each, renaming "Each Item As" now updates the downstream variable picker to match, so the renamed item variable is selectable instead of silently missing.
v1.6.0
June 9, 2026Minor
Adds Zip and Unzip nodes, compress, extract, and re-package archives inside a workflow, with per-file fan-out so each extracted file can be routed on its own.
Unzip node, extracts a .zip and exposes two outlets: Contents (the whole archive once) and File (runs downstream once per extracted file), so you can route each file by type.
Zip node, compresses a file or folder into a .zip. An Append mode adds files to an existing archive, so a fan-out can accumulate many files into one zip.
File-handling nodes now work with files in iCloud Drive and other cloud folders, which were previously refused.
Test Input on Zip and Unzip, run the node on its own from the inspector with a file you pick, no upstream node needed.
Variable-picker fixes, bare-key references resolve correctly, and the menu no longer shows a confusing duplicate placeholder.
New documentation pages for both nodes.
v1.5.0
June 9, 2026Minor
Enables light mode, which was previously gated off during testing, with a full contrast pass across the canvas, sidebars, and inspector.
Adds a light mode across the app chrome and canvas that follows your system appearance.
Light-mode contrast pass for the canvas and left sidebars, including border treatment on the canvas navigation.
Time-series viewer node now renders as a light card in light mode (log/terminal consoles stay dark).
Adds a {{ variable picker to file-path fields in the inspector.
Widens the node sidebar resize range.
Fixes a photo-scratch cleanup race so later nodes don't lose their working file.
v1.4.0
June 9, 2026Minor
Adds first-class PDF handling, extract text (with automatic per-page OCR fallback) and run AI vision over PDF pages, plus native image support for Anthropic and Google vision models.
PDF handling, new Extract Text (PDF) node: pulls text from any PDF, born-digital or scanned, with automatic per-page OCR fallback for pages with no text layer; supports dual-outlet fan-out and AI vision over rendered page images.
Native Anthropic & Google vision, AI nodes now serialize images in each provider's native format for Claude and Gemini models, alongside the existing OpenAI-compatible path.
Fix: Photo Added working copies, two enabled workflows reacting to the same new photo each get their own working copy, so one flow can no longer delete the image out from under another mid-run (previously surfaced downstream as "File not found").
Docs, corrected AI/utility node help links, refreshed the AI vision docs, and noted the one-emitter-per-workflow limitation on the emitter nodes.
v1.3.0
June 8, 2026Minor
Adds a Photo Added trigger and on-device OCR, and lets the AI node analyze images with a vision model, so workflows can react to new photos, read text from them, and classify what's in them. Also hardens file and web-fetch safety.
Add a Photo Added trigger that fires when a new photo enters your Photos library, including photos synced from iPhone via iCloud, and hands downstream actions a usable file.
Add an Extract Text (OCR) node that reads text from an image, fully on-device.
The AI node can now analyze images: attach a photo and a prompt to a vision-capable model (local via Ollama/LM Studio, or OpenAI-compatible) to describe or classify it. Apple HEIC photos are handled automatically, and local models keep the image on your Mac.
New "Download iCloud originals" option on Photo Added for photos stored only in iCloud.
Safer file handling: Move File now validates its source path, and web fetches refuse internal/loopback addresses.
v1.2.2
May 17, 2026Patch
Adds multi-flow bundle import, bring in many workflows from a single file, plus at-a-glance AI and failure indicators on Home, and a public releases page.
Import multiple workflows at once from a single bundle file (previously one workflow per file)
Home now flags AI-using flows and shows per-flow failure counts at a glance
New public releases page at watchflows.app/releases (linked in-app), kept current automatically by the release pipeline
v1.2.1
May 12, 2026Patch
Polish pass on the destructive-action UX shipped in v1.2.0, inspector layout and canvas card cleanup.
Inspector sidebar pins the node header at the top and shows the destructive banner directly beneath it.
Canvas card drops the 2pt left-edge accent strip on destructive nodes; the corner badge alone signals destructiveness.
v1.2.0
May 12, 2026Minor
Adds Google Analytics 4 to the marketing site and a first-class destructive-action UX system across the app. The app itself remains analytics-free.
Marketing site now reports anonymized page-level traffic via Google Analytics 4, including a purchase event on the thank-you page (Google Signals off, IP anonymization on).
Privacy page documents what GA4 collects on the marketing site and confirms the app stays telemetry-free.
Destructive nodes (Delete File, Move to Trash, API DELETE, Run Script with destructive heuristics, AI Agent) are now marked as destructive across every UX surface, canvas badge, library palette, inspector banner, and inline hint rows.
Move to Trash gains a permanent toggle that bypasses the recoverable Trash path (off by default).
Arming a workflow that contains a destructive node now triggers a confirmation alert every time, with no per-session suppression.
/land now flips the merged spec frontmatter from approved to done automatically and pushes the change.
v1.1.1
May 10, 2026Patch
Fixes the execution log silently dropping multi-line node values such as AI markdown results and file contents.
Execution log now renders every line of multi-line node values (AI results, file contents) instead of truncating after the first newline.
Per-line cap stays at 200 characters; pathological payloads cap at 50 lines with a clear overflow indicator.
v1.1.0
May 10, 2026Minor
Adds OpenRouter as a first-class AI provider, fixes a provider-edit clobber bug, and rewrites the marketing landing page. Internal release-flow tooling gets a major refactor (wiggum / land / run skills).
OpenRouter is now a first-class AI provider option, pick it from the provider picker and Watchflows attributes traffic on your OpenRouter dashboard.
All four required-API-key providers (OpenAI, Anthropic, Google, OpenRouter) now show a Get a key link directly in the provider sheet.
Editing an existing AI provider now preserves your saved default model instead of silently overwriting it with the alphabetical-first model in the list.
Reasoning-model detection now handles vendor-prefixed model IDs (e.g. openai/gpt-5, openai/o3-mini) correctly across any compatible endpoint.
Marketing site landing page rewritten around concrete outcomes (auto-name screenshots, sort downloads, draft replies) with a new capability band and template gallery.
Internal release-flow tooling reshaped: /wiggum opens a PR and exits, /run launches a Debug build for manual testing, and /land merges and cleans up after CI is green.
v1.0.15
May 8, 2026Patch
Replaces the gentle-reminder update pill with one driven by a real availability check against the appcast.
The Relaunch to update pill now appears only when an actual newer version is on the appcast, not on a fixed timer.
v1.0.14
May 8, 2026Patch
Adds a Share menu to the workflow detail toolbar and removes a stale toolbar code path.
Workflow detail view gains a Share menu in the toolbar.
Removes the unused CanvasToolbarView code path.
v1.0.13
May 7, 2026Patch
Adds the ambient Relaunch to update pill in the sidebar footer (Claude-style, soft prompt rather than a modal).
Sidebar footer shows a small Relaunch to update pill when an update is staged, including a 5-second post-launch kick so it surfaces promptly after relaunch.
v1.0.12
May 7, 2026Patch
Internal hardening release: better test coverage and several small production-side fixes uncovered along the way.
Stripe recover endpoint now sanitizes the email parameter before lookup.
License timestamp validation tightened to reject out-of-bounds values.
Keychain operations surface OS errors more cleanly.
Behind the scenes: significant trigger and executor test coverage expansion.
v1.0.11
May 7, 2026Patch
Settings panes get a uniform layout pass and several integration polish fixes; debug builds and tests are now isolated from production data.
Settings: uniform hero dimensions, per-pane gradient variation, License pane three-card grid, and an Integrations pane that always renders a hero.
Webhooks: new global master toggle plus a panel surfacing LAN authentication eligibility.
Debug builds and test runs no longer touch your real flows, database, license, or other production data, they get their own bundle ID, App Support folder, and UserDefaults.
v1.0.8
May 3, 2026Patch
License and trial-start storage moves out of the macOS keychain into App Support files so updates do not invalidate the license.
License code and trial-start timestamp now live in Application Support files instead of the keychain, survives app updates without the system treating the new binary as a different signer.
v1.0.7
May 3, 2026Patch
Settings polish: removes the sidebar toggle and tightens top inset on every pane.
Settings sidebar toggle removed; the sidebar is always shown.
Top inset reduced uniformly across every Settings pane.
v1.0.6
May 3, 2026Patch
Fixes a stuck License activation sheet, it now has a real dismiss path.
License activation sheet now dismisses correctly after activation.
v1.0.5
May 3, 2026Patch
Stops the Move-File feedback loop that fired endlessly when a Directory Changed trigger watched the same folder a Move File action wrote into.
Directory Changed trigger now defaults to the current user's Downloads folder for safer first-run behavior.
Move File action becomes a no-op when source and destination resolve to the same path.
User Input trigger applies a 5-second dedup window so echo trigger fires no longer pile up.
v1.0.4
May 3, 2026Patch
Major launch hardening pass: security fixes across webhook, file, AppleScript, AI provider, and import paths; Calendar trigger removed; trial-expiry gate and refund policy in place; new public download for the trial.
Security: webhook listener defaults to the strictest registration mode; OpenURL scheme allowlist; AppleScript escaping covers newlines and control characters; path-traversal guards added to file executors and agent tools; Run Script argv filter; webhook two-pass auth with constant-time compare.
Security: Google AI API key moves from URL parameter to header; AI provider config migrates into the keychain; .watchflow file imports now go through a trust gate.
Calendar trigger and EventKit dependency removed.
Trial expiry gate: workflows stop executing once the 14-day trial is over; the refund policy on the marketing site is updated accordingly.
Marketing site gains a public Download free trial button on the homepage and pricing page.
Test runs and recent-activity cleanup are properly isolated from real flows; recent-activity entries cascade-delete with their parent flow.
BuiltInNodes registration is now idempotent and thread-safe.
v1.0.3
April 28, 2026Patch
Settings UX overhaul (sidebar IA, hero panes, polish across General / AI Providers / License / Webhooks / Integrations) plus a CI Xcode pin bump.
Settings rebuilt around a NavigationSplitView with a sidebar IA and a reusable hero header on every pane.
New panes built out: General (updates toggle), AI Providers (card grid + provider sheet), License (state-driven hero), Webhooks (with port comma fix), Integrations.
Help menu item renamed to Open Documentation.
Calendar usage descriptions added so the system actually prompts the user for permission.
CI Xcode pin bumped to 26.1.1 to match the local SDK linkage.
v1.0.2
April 27, 2026Patch
Fixes broken in-app links to watchflows.app pages and adds a verification target so it cannot regress.
Restores the .html suffix on every in-app link to a watchflows.app page so they resolve correctly.
Adds a make verify-site-links target that asserts every watchflows.app URL referenced from Swift maps to a real site file.
v1.0.1
April 26, 2026Major
Initial public release of Watchflows for macOS, visual workflow automation that runs locally, treats AI as a first-class node type, and ships with the full sign / notarize / auto-update pipeline.
Visual canvas for building workflows from triggers, conditions, actions, and AI nodes.
Triggers cover system events, file changes, app events, time-based schedules, and webhooks.
AI nodes work with local models (Ollama, LM Studio) and any OpenAI-compatible endpoint, with structured-output validation.
Local-first: no account required, no telemetry from the app, credentials in the macOS keychain.
Sold direct from watchflows.app: 14-day free trial, then a 9 one-time license delivered via signed Ed25519 code.
Sparkle 2 auto-updates from the public appcast keep installs current end-to-end.