The first versions of TerminalNexus leaned on Windows Terminal being installed. It worked on my machine, and on most machines, which is exactly the kind of thing that lets a bad decision sit around for too long.
The trouble was that every setup was a little different. Some corporate machines had Windows Terminal blocked outright. Different versions of it behaved differently. And every so often someone would email me because step one of the install guide failed before they had even opened the app once. For a tool whose whole point is to take friction out of your day, the first thing it did was add some.
So 2.11 ships its own terminal engine. Nothing to pre-install, nothing to match versions on. You install TerminalNexus and you have a terminal. I should have done it earlier.
Owning the terminal is the real change in this release. A couple of the other things in 2.11 only work properly because of it, and the rest is the batch of features that happened to be ready at the same time.
Scheduled output panels
Scheduled commands have been in TerminalNexus for a while, but until now you had to go read the output to know how a run went. Each scheduled command can now have a panel in the assistant sidebar with its run history, and the AI reads each run and marks it healthy, warning, or critical. You can reorder the panels, color their headers to group related checks, and the history survives a restart. This is one of the pieces that needed me to own the terminal, since it depends on capturing and reading what actually ran.
Shell conversion
Right-click a command, pick a target shell, and the AI rewrites it. Bash to PowerShell, PowerShell to CMD, whichever way you need. It shows a confidence score and lets you run the conversion again if the first pass is not quite right. Handy when you found a Linux one-liner and you are on Windows, or you inherited a pile of CMD and you are dragging it into PowerShell.
Variables Manager
You can define variables at global, project, or session scope and drop them into any command with double-brace syntax. Instead of hardcoding a server address or an SSH key path across fifteen commands, you set it once and change it once. Secrets like keys, passwords, and tokens are stored encrypted and masked in the interface, and they stay out of logs and exports by default. Multi-line values work too, so whole SSH keys or JSON blobs paste in once and get referenced anywhere.
Per-provider AI config
There used to be a single global AI setting. Now each provider has its own API key and model choice, so OpenAI, Anthropic, OpenRouter, Ollama, and LM Studio can each be configured on their own. If you use a small local model for quick things and a bigger one for the heavy lifting, you can finally point each task at the right one.
The smaller stuff
There are Quick Action Buttons on the toolbar for the AI commands I reach for most, and every dialog got a proper dark theme and a cleanup pass.
None of this is dramatic on its own. The point is the shape of it. Pulling out a dependency I had talked myself into keeping made the app simpler to install and gave me a foundation I actually control, and once that was true, a few things I had wanted to build for a while stopped being awkward. That is usually how it goes. The annoying structural fix you keep putting off is the one that quietly makes the next five things possible.
Thanks for reading. If you are running 2.11 and something feels off, the comments are open and I read them.
TerminalNexus
Comments