cli-anything-iterm2-ctl

Control iTerm2 sessions by sending commands and reading output via cli-anything-iterm2.

Updated May 7, 2026
One-click install
npx skills add https://github.com/dawsonblock/JUDGE_ATLAS --skill cli-anything-iterm2-ctl-dawsonblock
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cli-anything-iterm2-ctl
Source: https://github.com/dawsonblock/JUDGE_ATLAS/tree/main/external/CLI-Anything-main/skills/cli-anything-iterm2-ctl
Command: npx skills add https://github.com/dawsonblock/JUDGE_ATLAS --skill cli-anything-iterm2-ctl-dawsonblock

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It solves the problem of reliably operating a live iTerm2 terminal session—sending commands, orienting to what is running, and reading current output and scrollback—without manual tab/pane switching or guessing session state.

Core Features & Use Cases

  • Workspace orientation via snapshots: Use app-level snapshotting to identify every session’s name, current directory, foreground process, role label, and last output line in one call.
  • Deterministic session interaction: Send text, wait for prompt/command completion patterns (via shell integration references), and read screen content and full scrollback for verification.
  • Layout and multi-session control: Create and manage windows, tabs, and split panes; label panes with variables for later discovery; and run tmux -CC workflows through iTerm2.
  • Use case: When you open an existing workspace with multiple running services (API server, log tailer, editor), run a snapshot to immediately map what each pane is doing, then send targeted commands to only the correct sessions.

Quick Start

Ask the assistant to run the command cli-anything-iterm2 --json app snapshot to get a machine-readable overview of every iTerm2 session and its current foreground process.

Frequently Asked Questions about cli-anything-iterm2-ctl

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate iTerm2 pane control and send commands to specific sessions?

Automate iTerm2 pane control by using the cli-anything-iterm2 CLI to dispatch commands to specific sessions and read live terminal output. It structures terminal automation through machine-readable JSON, ensuring deterministic session interaction without manual tab switching.

Can I inspect what processes are running across multiple iTerm2 tabs and split panes?

Inspect running processes across multiple iTerm2 tabs and split panes by running an app-level snapshot. This returns a machine-readable JSON overview mapping every session's name, current directory, foreground process, and last output line in a single call.

Do I need the iTerm2 Python API enabled to automate terminal sessions?

You need macOS with the iTerm2 Python API enabled to automate terminal sessions with this approach. The CLI relies on the iTerm2 Python API to execute command dispatches, read scrollback, and manage workspace orientation across multiple panes.

What is the best way to manage tmux -CC workflows and broadcast input in iTerm2?

The best way to manage tmux -CC workflows and broadcast input in iTerm2 is using command scopes that support tmux, broadcast, and arrangement profiles. This enables multi-pane layout control and deterministic command dispatch across targeted sessions.

How does terminal automation verify command results in an iTerm2 session?

Terminal automation verifies command results by reading screen content and full scrollback after sending text to an iTerm2 session. It waits for prompt or command completion patterns using shell integration references to ensure the task finished successfully.

Why does my iTerm2 session automation fail to read current output and scrollback?

iTerm2 session automation fails to read current output and scrollback if the iTerm2 Python API is not enabled or shell integration is missing. Proper workspace orientation requires the CLI to access session variables and foreground process states via structured JSON.