term-cli
term-cli runs interactive programs for an agent inside tmux sessions, while a human enters passwords and MFA through term-assist.
- 103 ★ on the repository
- Last commit
- BSD-3-Clause-Clear
Broad access
Why this level
- The agent gets interactive terminals, including SSH, and can run commands in them.
- Installation runs a script through curl and bash.
Install
- Works in
Manual install
curl -fsSL https://github.com/EliasOenal/term-cli/releases/latest/download/install.sh | bashThe README command after installing tmux. The installer sets up `term-cli`, `term-assist` and the skill.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent gets interactive terminals, including SSH, and can run commands in them.
- Installation runs a script through curl and bash.
This is third-party code. Review the repository files before installing.
What it does
term-cli removes the blocking that makes an agent hang on interactive programs. The agent runs `vim`, `pdb`, `gdb`, `psql`, SSH sessions, dev servers and installers in separate tmux sessions and drives them with short commands: `start`, `run`, `send-text`, `wait`, `capture`, `kill`. The second part, `term-assist`, hands control to a human: they enter a password, pass MFA and prepare the session, then the agent continues. The reverse mode also exists, where the human works and the agent watches and advises. It is a single Python file with no dependency beyond tmux. `skills/term-cli/SKILL.md` holds the skill the installer registers for known agents.
Who it is for. Developers and administrators whose agents get stuck on debuggers, SSH, install wizards and other programs that wait for input.
Good fit when
- An agent debugs a crash in `gdb` or `pdb` and steps through it.
- A server must be reached over SSH, with the human entering the password and MFA.
- An install wizard or `certbot` asks questions and answers are needed along the way.
- A log has to be watched live with `tail -f` without blocking the agent.
Not a fit when
- Non-interactive flags such as `--yes` are enough.
- tmux is missing and cannot be installed.
- Passwords and keys must not be shown to anyone but the program itself.
Example request
Start `python -m pdb script.py` in a separate term-cli session, set a breakpoint on `main` and show where it stopped.Limitations
Python 3.8 and tmux are required. The agent sees everything the terminal prints, so enter passwords yourself through `term-assist` instead of dictating them in chat. The README installer is fetched and run with `curl | bash`: read `install.sh` first, or install manually or with `--no-skill`. Sessions live in tmux until `kill`, so unfinished programs have to be closed by hand or they keep running in the background.
How to disable. Run `./install.sh --uninstall` from a cloned repository, then end any remaining tmux sessions with `term-cli kill` and the session name.
FAQ
How do I install it?
Install tmux and run `curl -fsSL https://github.com/EliasOenal/term-cli/releases/latest/download/install.sh | bash`.
Is an MCP server needed?
No. term-cli is a plain CLI and the skill tells the agent the commands.
What does term-assist do?
It lets the human join the same session to enter a password, pass MFA or prepare the environment.
How do I install to my own directory?
Run `./install.sh --prefix ~/bin`; `--system` is there for system-wide install.
Can I skip the skill?
Yes, `--no-skill` installs only the programs and `--skill opencode,claude` picks agents.
Discussion
No questions or reviews yet.
Related
CLI toolsA macOS terminal with the termio CLI and a skill: agents spawn sibling sessions and you see which one needs your answer
This skill teaches Claude Code and Codex to share the con terminal: inspect panes, run commands in view and coordinate workers
CLI and skill that drive TUIs from an agent: runs vim, htop or a REPL in a background session, sends keys and snapshots the screen
MCP server for iTerm: the agent runs commands in the active terminal session, reads output and sends control characters
The tty7 skill teaches Claude Code and Codex to drive tty7 terminal panes: run commands in a real PTY, read the screen and hand work to another agent
Rust CLI with a terminal switcher across coding agents: list, readiness check, active harness selection and command preview
README in short
One command installs term-cli, term-assist and the skill files; tests and CI run on every commit.