Announcing Indigo 2026.1.0 October 29, 2026

Announcing Indigo 2026.1

We're very pleased to announce the release of Indigo 2026.1. This one has two big new features: tags, a new way to organize everything in your Indigo database, and MCP Control, which lets an AI assistant run your home in plain language. Indigo Touch for Web gets faster and sturdier, the Z-Wave interface can now update device firmware over the air, and there's a round of fixes for macOS 26 Tahoe. Read on for details, starting with one change you need to know about before you upgrade.

Indigo now requires macOS 10.15 Catalina or later

Indigo 2026.1 raises the minimum macOS version from 10.13 High Sierra to 10.15 Catalina. As we mentioned in our recent announcement, this is mostly about modernizing our codebase. Supporting operating systems that Apple stopped updating years ago meant carrying a lot of workarounds, and a more modern foundation is what makes features like the ones below practical to build and keep secure.

Any Mac from mid-2012 or later can run Catalina. If yours can't, nothing stops working: Indigo 2025.2 is the last version for 10.13 and 10.14, it keeps running just as it does today, and it remains available on the Downloads Page. The installer now checks your macOS version as soon as it opens, so an unsupported Mac finds out right away.

As usual, Indigo 2026.1 is installed alongside your current version, so you can switch back to 2025.2 by shutting down the 2026.1 server, quitting the client, and launching Indigo 2025.2.

Tags

Folders have always been the way to organize Indigo, and they still are. But an object can only live in one folder, and the things you want to see together often cut across them: everything upstairs, the holiday lighting, every sensor that needs new batteries. Tags solve that. You can now put any number of tags on devices, variables, triggers, schedules, action groups and control pages, and each tag has a color you choose that looks the same everywhere it appears.

In the Mac client there's a new Tags column in every object list and in the Variables window. Assign Tags…, in each list's contextual menu and the Edit menu, puts tags on the selected objects, and Edit → Manage Tags… opens a new Tags tab in General Settings where you create, rename, recolor and delete them. A Filter button on each list shows only the objects carrying the tags you pick, with a green dot to remind you while a filter is on. Indigo Touch for Web shows tags as colored chips on every object, and its filter can use them too. Indigo Touch for iOS doesn't support tags yet. Tags are also available to scripts, plugins and every one of our APIs (more on that below). See Tags in the documentation.

MCP Control

This is the one we're most excited about. The Indigo Web Server now includes an MCP server. MCP, the Model Context Protocol, is an open standard that lets an AI assistant use tools on another system, and Indigo now publishes a set of home-automation tools for it. Connect an assistant, and you can ask it what's on, turn things on and off, dim lights, set thermostats, run your action groups, and read or set variables, all in plain language. It also works with AI coding assistants such as Claude Code, GitHub Copilot in Visual Studio Code, Cursor and Windsurf, which turns out to be a great way to develop plugins: the assistant can edit your code, restart the plugin, read the Event Log and check device states without you switching windows.

Control, not configuration

MCP Control runs the home you've already built; it can't change how it's built. There are no tools to create, edit or delete devices, triggers, schedules, action groups or control pages. (Creating a variable is the one exception.) That's a deliberate choice, not an unfinished feature.

The reason is that the two kinds of mistakes are very different. If an assistant turns on the wrong light or runs the wrong action group, you just undo it. But an assistant that misunderstands a request, or simply overreaches, while it's able to change your configuration could delete a trigger, rewrite a schedule or remove a device, undoing months of your work in one step, and you might not notice until the night something fails to run. We'd rather nobody had to trust an AI with their whole database just to ask it to turn off the kitchen lights. And because the configuration tools simply aren't published, the limit is enforced by Indigo itself, not by hoping the assistant behaves.

We know some of you want more than that, and there are third-party MCP servers for Indigo that take a broader approach and will make those kinds of changes. We're taking a more conservative path with AI access to your system. Our current thinking is to add configuration in a future release as a separate MCP server, with stricter authentication, so you can choose to turn it on deliberately rather than getting it automatically alongside home control.

Within home control, there are still guardrails:

  • It only sees what you've published. Just like Indigo Touch, an object is visible only if Remote Display is on for it and for its folder.
  • Sensitive actions need confirmation. Controlling a lock or a garage door, or running an action group, trigger or schedule, isn't done on the first request: the assistant has to confirm it first. You can also mark any other device to require confirmation.

It works today with any client that can send an Indigo API key: chat apps such as Claude Desktop, and coding assistants such as Claude Code, GitHub Copilot in VS Code, Cursor, Windsurf, Zed and Cline. ChatGPT can't connect yet, because its connectors require OAuth, which Indigo doesn't support yet. See MCP Control for how to connect a client and what you can ask it.

Indigo Touch for Web and the Web Server

Indigo Touch for Web (ITW) now talks to the server over a single connection instead of seven, using the new v3 WebSocket feed. It also reconnects on its own: if the connection drops, you'll see the overlay, and it clears when the server comes back, with no page reload. Tag colors and folder renames now update live too. The v2 WebSocket feed is still supported, so upgrading shouldn't break existing v2 automation and control.

On large databases, switching between list and tile view is about four times faster: only the tab you're looking at is redrawn, and the others catch up when you open them. Tag chips now match the Mac client's colors exactly.

The Event Log is quieter as well. Read-only MCP and HTTP API requests are now only logged when debug logging is on, and there's a new Hide MCP Logging option in Advanced Web Server Settings…, next to the existing Hide Security Logging. We also fixed a stale browser tab that would retry forever after a Web Server restart, repeated identical errors filling the log, links that opened the wrong ITW tab, spurious "undefined page" warnings when an MCP client probes for OAuth, and the traceback you got when the web server's port was already in use (it's now one plain message telling you how to find what's using it).

Z-Wave

Over-the-air firmware updates

There's a new Update Device Firmware (OTA)… menu item that installs manufacturer firmware (.bin and .gbl files) on your Z-Wave devices, with progress shown in the Event Log. You can also start an update from a script. Be very careful about installing firmware older than what a device is already running. Downgrading usually isn't recommended and can have unintended side effects: a device can accept an older image and then be unable to communicate, and recovering it means a factory reset and re-inclusion. See Update Device Firmware.

Removing failed modules

Remove Failed Modules from Controller now finds modules the interface hasn't marked as failed yet, such as one that was unplugged months ago, so you no longer need to run Define and Sync first just to get it onto the failed list. When the interface refuses a removal, the Event Log now tells you why.

New and updated devices

New device definitions:

  • Aeotec Water Sensor 8 (ZWA056): a leak sensor with temperature, humidity, dew point, mold alarm and tamper sensors
  • HomeSeer Smart On/Off Switch (WS300), with all of its tap and hold scene events
  • Inovelli 2-1 Dimmer (VZW31-SN)
  • Inovelli On/Off Switch (VZW30-SN), including its temperature and humidity sensors
  • Kwikset SmartCode 5 Touchpad Lever (912), also sold as the Weiser GED1455
  • Leviton Fan Speed Control (ZW4SF)
  • Shelly Wave Pro 1 (QPSW-0A1X16) and Wave Pro 1PM (QPSW-0A1P16)
  • Shelly Wave Pro 2 / Flush 2 Relay (QPSW-0A2X16). If you already have one, run Define and Sync to remove the extra third device it previously created.
  • SmartWings Day/Night Shade Motor (WB04V), with a separate blind device for each motor
  • SmartWings Roller Shade Motor (WM25L). Set its travel limits with its remote.

We also improved the GE/Jasco Smart Fan Control (14287), NEO Coolcam Multi Sensor (NAS-PD07Z) and Inovelli mmWave Presence Dimmer (VZW32-SN) definitions, taught Indigo the Ezlo LED Bulb's name, and fixed the Zooz RGBW Dimmer (ZEN56) color controls, the Ecolink Door/Window Sensor (DW-ZWAVE2.5) tamper state, the Zooz ZEN72/ZEN77 dialog error, and the Remotec Thermostat (ZTS-500)'s missing fan mode, heating and cooling states. Re-sync existing ZEN56 and Ecolink devices to pick up the fixes; ZTS-500s will ask to be re-synced. A spurious "no matching device" startup message about the Z-Wave interface itself, on ZST39 firmware 1.60, is gone too.

Some 2025.2 devices will ask to be re-synced

Sixteen device types added in 2025.2 didn't finish starting up, so their sensors might not have updated, or the device ran without its settings. That's fixed in 2026.1. After you upgrade, those devices will ask to be re-synced, which is expected: just open each one and run Define and Sync. The full list is in the release notes.

Mac Client and Indigo Server

  • macOS 26 Tahoe fixes: the Event Log window now fills the window width, the Delay by time field shows its whole value, long action descriptions are no longer cut off in action lists, and the Variables window's folder buttons are no longer covered by a scroll bar.
  • Better stability: we fixed a rare memory corruption that could crash the Indigo Server or a plugin. Busy systems were the most exposed, for example ones that run external Python scripts thousands of times a day, since every script run starts its own process that connects to the server. The server and plugins restart themselves after a crash, so you may only have seen it as an unexpected restart.
  • macOS 27: quitting the Mac client could cut plugins off from devices on your local network ("No route to host") until the server was restarted, when the client had started the server. The server now holds its own Local Network permission.
  • Help menu: updated for the new documentation and the retirement of the old wiki. The old How-To Wiki item is now Device Info, which opens the selected device's page in our compatible devices database, and it no longer opens another manufacturer's page when two Z-Wave devices share a model number.
  • Full screen: revealing the menu bar no longer covers the top of the main window, and the window no longer comes back maximized after the Mac sleeps long enough to drop the connection.
  • Double-click: with the Name column dragged to the far left, double-clicking a trigger or schedule opens it again, and double-clicking a device opens it instead of turning it on or off.
  • Connection recovery: if something goes wrong while the client is setting up after connecting, it now returns to the connection window, where Reconnect recovers, instead of leaving you with an empty Variables window.
  • Better script errors: when a linked Python script can't be read, the Event Log now names the file and the action group, schedule or trigger that ran it, and tells you if the file is sitting in iCloud without having been downloaded to the Mac.
  • Certificate checks: Indigo now checks our servers' certificates against the macOS system trust store, which Apple keeps up to date, so future certificate changes on our side can't break licensing or plugin update checks on your Mac.

Updates to built-in Plugins

  • Timers and Pesters got a thorough review this cycle. An error in one timer can no longer stop every timer and pester, pesters can no longer run forever, a timer started at zero no longer fires its triggers every second, timers of 31 days or more show the right number of days, and the Toggle Debugging menu item now works.
  • NOAA Weather: fixed stations that are missing from the National Weather Service's station list (KPBI, for example), wind direction for northerly winds and near the West/Northwest boundary, changing a device's station, and a garbled station list stopping updates.
  • Virtual Devices: Virtual On/Off Devices now warn when they ignore a toggle or status request they aren't set up for, instead of claiming to have sent it, and report a missing Status Variable as a configuration error.
  • Global Property Manager: debug logging is off by default again.
  • SQL Logger: fixed an error that could stop old history from being pruned.
  • Every built-in plugin's Help button now opens its page in the 2026.1 documentation.

Developer Enhancements/Improvements

For those of you who write scripts and plugins, this release is the 3.9 plugin API. This new API version has the most change in a really long time and we hope that you all take advantage of all the new features. The API 3.9 release notes have the details; the highlights:

  • macOS 10.15 is the new floor for plugins too: any binary Python wheels or other compiled code you bundle only needs to support Catalina and later.
  • Tags everywhere: indigo.server.tags and new functions to create, update, delete, add and remove tags in the IOM, plus tags on every object in the HTTP and WebSocket APIs, with ?tag= and ?folder= filters on the HTTP object lists.
  • Folder and tag subscriptions: plugins can now subscribe to folder changes and to the tag library, with new callbacks for each.
  • v3 WebSocket feed: one connection carries every object type, the folder lists and the tag library, including tag recolors and folder renames, which the v2 feeds can't report. The v2 feeds are unchanged. See WebSocket API v3.
  • GET /api/capabilities: a new unauthenticated endpoint that reports which HTTP, WebSocket and MCP API versions a server supports, so a client can tell a 2026.1 server from an older one. See Asking the server what it speaks.
  • macsemantic: a new Python package, installed with Indigo, that turns a plain-language phrase into the matching items from any list you give it ("the porch light" finds Porch Light). It's the engine behind MCP Control's device lookups, and your scripts and plugins can use it too. With Apple Intelligence (Apple silicon, macOS 26 or later) it matches by meaning, so "I can't see what I'm chopping" finds Kitchen Lights; on other Macs it matches on shared words. See Semantic Resolver.
  • The MCP API: 64 tools, subscribable resources and a confirmation step. See MCP API.
  • New SDK example: the Indigo SDK has a new Example Folder and Tag Subscriptions plugin that shows how to subscribe to folder and tag changes and handle each callback.
  • PyObjC permissions: plugins that use PyObjC to reach Calendar, Contacts, the camera, the microphone or location now get the normal macOS permission prompt instead of failing.
  • Plugin HTTP endpoints now accept DELETE, which MCP clients send to end a session, and a reply that sets a status with no content goes back as that status instead of a 500.

Summary

Tags and MCP Control are two of the biggest additions to Indigo in a while, and moving to a more modern macOS foundation is what made them practical. We hope you'll enjoy organizing your home with tags, and we can't wait to hear what you do with an AI assistant at the controls.

Note: this release may not be available to all Indigo customers for free. Specifically, if you've allowed your Up-to-Date Subscription to lapse, you won't have access to Indigo 2026.1. Select the Indigo YYYY.N->License Details... menu item in the Indigo Mac client to see the details of your subscription. You can also check the Licenses section of your Indigo Account to see the subscription status and the last version you are eligible to use, or you can go to the Downloads Page (make sure you're logged in to your Indigo Account) to see which releases you can download and use.

Some expired subscriptions are not yet past their catch-up deadline date, so you may be able to catch up your subscription to get access to Indigo 2026.1 (otherwise you'll need to purchase a new license). As mentioned above, you'll need an active subscription not only to upgrade to 2026.1, but also to use an Indigo Reflector, Alexa integration and API key functionality. MCP Control follows the same rule: connecting with an Indigo API key needs an active subscription, while connecting with a local secret doesn't.

Thanks for your continued support, and we hope you'll love all the new features and enhancements in Indigo 2026.1!

Back to article list