VISOR: keeping track of AI work in separate terminals
By Bill Herald
When several AI sessions are open at once, keeping track of the work becomes a job of its own. One session may be working, another may need an answer, and a third may be ready to resume. Each has its own conversation and project directory. You still need to know which window to open and what remains unfinished.
That is the practical problem I am working on with VISOR, a desktop supervisor for Codex and Claude Code. It brings session information and a few controls into one window while the agents continue to run in their own terminals.
The separate terminals are useful. You can read the conversation, inspect what the agent is doing and respond through the tool you already use. VISOR adds a place to find a session, resume its exact conversation, bring a verified terminal forward and arrange selected windows.
A small problem during development showed why the details matter. Resuming Codex from VISOR selected an older installation, while the regular command line selected the current one. Both versions were on the computer, but the desktop launcher searched for programs in a different order. The correction makes VISOR read the normal shell's program search path on Linux and macOS. That fix was checked against the two installed Codex versions. The Mac implementation still needs to be tried on a Mac.
Communication needs the same care. Sending a message does not tell you whether an agent has read it, and reading it does not mean the work is complete. VISOR keeps delivery, acknowledgment and completion separate. You can send an operator message, and there are controls for allowing selected sessions to exchange messages. Some provider integration work remains, including attaching all peer tools to Codex conversations that are already loaded.
There is also a wrap-up request. It asks an agent to reach a safe stopping point, save context and report what remains. The terminal stays open for inspection. That is useful information, but an acknowledgment alone cannot prove that every background task has stopped. The person supervising the work still has to review the result.
I am sharing VISOR as a beta, with the source under the MIT license. Windows has earlier native build and live Codex checks. Linux has native package checks and tests with disposable terminal windows. Those results cover specific cases; clean-machine, reboot, accessibility and wider desktop testing remain open. Claude Code's integration has automated tests with simulated clients, but live model behavior has not been validated.
macOS is experimental. The Terminal integration and packaging code are prepared, and the build workflow includes Apple silicon and Intel Macs. I do not have a live Mac test result to report. A successful automated build, when available, will still leave Finder launch, permissions and real window behavior to be checked. Windows and Linux beta downloads can move forward independently when their own release checks are complete.
I used Codex to help develop the code, prepare documentation and run automated checks. The test reports describe what those checks actually exercised. They do not replace trying the program on the intended computer.
The source is now available for other people to inspect and help test the gaps. If you already work with several terminal-based AI sessions, I would be interested in which parts of keeping track of them take the most effort. That will help guide the next round of work.
Source and platform notes: https://github.com/bherald/AI-CLI-MANAGER-VISOR