tui-test CLI
Microsoft’s CLI controls real terminal sessions, checks visible text and records test runs for investigating failures.
- 308 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The CLI launches selected programs and sends input to real sessions under the current user’s permissions.
Install
Manual install
brew tap microsoft/tui-test https://github.com/microsoft/tui-test
brew install tui-testFirst CLI installation block from the README, including both Homebrew steps.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The CLI launches selected programs and sends input to real sessions under the current user’s permissions.
This is third-party code. Review the repository files before installing.
What it does
tui-test gives an agent structured access to a terminal application. Its CLI launches a program, finds text, sends keys and waits for expected state. The screen is available as text and styled cells, letting an agent check observable results. Sessions persist across individual commands. Tests can assert text, exit codes and snapshots; failures can retain evidence that a person opens in the trace viewer.
Who it is for. QA engineers testing terminal applications and retaining evidence of reproducible failures.
Good fit when
- A TUI change needs a keyboard-driven scenario and a final text assertion.
- An intermittent failure requires a recorded terminal session.
- CI needs to compare an application screen with a stored snapshot.
- An agent must distinguish command completion from a temporary pause in output.
Not a fit when
- The tested interface runs in a browser and needs DOM access.
- The environment forbids launching the tested program as a child process.
- You need to prove program correctness solely from a screen that stops changing.
Example request
Run my terminal wizard, select the test project and assert the success message. Save a trace if it fails.Limitations
The CLI controls a real process, so the tested application needs its usual dependencies and permissions. MP4 recording requires ffmpeg; check that the CLI can find it before recording a test. Sessions persist between commands, and another launch may reuse a live terminal unless explicitly restarted. A program can keep running after its screen stops changing; verify command termination and its exit code separately.
How to disable. Close the relevant session with `tui-test close` and stop its daemon when no longer needed. Preserve failure evidence before removing the setup.
FAQ
How can an agent discover commands?
Run `tui-test agent-context` for a JSON schema or `tui-test usage` for brief help. Select actions from that schema.
Can I search scrollback text?
Yes. `--full` includes history. Return to the live screen before sending mouse input.
How do I save a screenshot?
Use `tui-test screenshot -o result.svg`. PNG and capture styling are also available for appearance checks.
What should an agent read after failure?
Start with `trace.md`, then structured `trace.json` and `timeline.json`. People can use `trace.html`.
Does Python testing require the CLI?
No. The Python library runs the same engine in-process. Choose it when your test suite already uses Python.
Discussion
No questions or reviews yet.
Related
CLI toolsDrives terminal UI programs for agents: runs them in a PTY session, captures the screen, sends keys and waits for text.
Qlty CLI reports duplicate and complex code before refactoring; automatic formatting runs as a separate action.
An MCP tool for interactively driving the 1C:Enterprise UI through the test client: clicks, fields, tables and evidentiary scenario recording
MCP server, agent and skills for end-to-end UI tests where the agent drives the computer through vision on cloud machines
Tester
Тестер
A scenario testing system for 1C:Enterprise with a set of agent skills that let an AI agent operate the application like a regular user
The CLI creates Python environments and repeats project build, install and test steps for agent-led compatibility checks.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| tui-test (this card) | no | 308 | ||
| Tmux MCP Server: agent access to tmux sessions | no | not required | 306 | tui-test adds screen-state assertions and test recordings; Tmux MCP Server manages existing tmux windows, panes and commands. |
| hyperfine | no | 29,215 | hyperfine repeatedly runs commands, compares timing and other metrics and exports measurements for review and automation. |
README in short
Bindings support Rust, Python, JavaScript and Go. TOML profiles configure appearance, recordings and diagnostic artifacts.