Why an AI coding agent can look idle while it's working: Termexo 0.10.8–0.10.9 The maintainer of Termexo, an MIT-licensed Windows workbench for AI coding agents such as Claude Code, Codex, OpenCode, Grok Build and Antigravity, released versions 0.10.8 and 0.10.9, which fix a race condition where late startup or idle lifecycle events could overwrite newer state and make a working agent appear idle. The update adds per-agent status icons in terminal order (idle, running, error/approval, completion), reads the Git branch from the selected terminal's launch directory, and requires a manual "Confirm completion" click rather than treating a green check as code acceptance. I maintain Termexo, an MIT-licensed Windows workbench for Claude Code, Codex, OpenCode, Grok Build, and Antigravity. When several agent terminals are open, the useful question is not simply whether they produced output. It is which agent is running, which needs approval, and which result still needs a human review . The last five releases, v0.10.5 through v0.10.9, improve that path from starting a workspace to confirming finished work. An agent's lifecycle events, terminal input, PTY exit, and recovery state can all update the UI. Their delivery order is not guaranteed to match the order in which the work happened. For example, an idle event from startup can arrive after a running event. If the UI blindly accepts both, the agent appears idle while it is still working. In v0.10.8 I checked the installed CLI behavior of all five supported agents. OpenCode 2 now uses its current plugin interface to report execution, input requests, failure, and completion; Grok Build uses lifecycle hooks. Late startup or idle events no longer overwrite newer state. Keyboard input is interpreted in context too: Esc interrupting a turn, Enter submitting a prompt, and an approval option should not all mean “the agent is running.” Real product screenshot, captured in an earlier version. The v0.10.9 icons should be judged in the current app. v0.10.8 placed agent status on the workspace row. v0.10.9 makes it a compact set of icons in terminal order: gray idle, animated green running and thinking, red error and approval, and a green check for completion. Hovering an icon shows the terminal's current name, including any rename. A green check is a reminder, not acceptance of the generated code. Open the terminal, inspect the output and changes, then click Confirm completion to clear the reminder. A live terminal returns to idle; one that has exited becomes stopped. The terminal corner once risked showing a saved default such as main after the repository had changed. In v0.10.9 the branch is read from Git for the selected terminal's launch directory . Selecting another terminal clears the old branch until its own check completes. Non-Git directories and unknown results stay blank. The boundary matters: if you run cd into a different repository inside the shell, that corner label does not follow the shell's new working directory. The label describes the terminal's launch directory. v0.10.5 stores task-board state and snapshots in local SQLite, with snapshot import and export. v0.10.7 guides a first workspace through project selection and CLI checks, with repair and retry paths. It saves the project before launching the agent, and preserves the entered settings if saving fails. v0.10.6 also fixed OpenCode v2 per-session servers inheriting the workspace proxy and switched installation to the current @opencode/cli package. Termexo currently targets Windows x64. You can download v0.10.9 https://github.com/gemron/Termexo/releases/tag/v0.10.9 , browse the source https://github.com/gemron/Termexo , or watch the 30-second workbench recording https://www.termexo.com/ workbench-demo . Agent CLIs, accounts, and model services require their own setup. Generated code still needs human review. Prepared with AI from the project release notes. Screenshots show the real UI; older captures are labeled.