02-core-use-terminalcp-for-multiple-interactive-terminalslisted
Install: claude install-skill markkennethbadilla/public-agent-provisioning
# Use terminalcp for Multiple Interactive Terminals (CORE)
**What it is:** A single MCP tool (`terminalcp`) that manages many real PTY terminals at once.
Each session is persistent (survives across your tool calls) and interactive (you send keystrokes
incl. arrows/Ctrl-C and read the rendered screen). This opens parallel, stateful terminal work
the normal one-shot shell can't do.
**Reach for terminalcp (like jcode/jdoc/serena in their domains).** If a task is interactive,
long-lived, or needs more than one terminal at once, terminalcp is the right tool — not the
one-shot shell, not a backgrounded command you can't drive. The one-shot shell can't hold a
session or be typed into mid-run, so it silently fails the multi-terminal/interactive case. You do
NOT wait for the user to nudge you. The ONLY carve-out: a plain **one-shot** command (`ls`,
`git status`, a build you just need the exit/output of) stays on the normal Bash/PowerShell
tool — simpler, and terminalcp isn't meant for it. Everything interactive/parallel/persistent
→ terminalcp, every time. When in doubt whether a task is multi-terminal/interactive, default
to terminalcp.
## When to use it (reach for it on your own initiative)
**CLI AGENTS — ALWAYS (rule 14e).** Any invocation of another CLI agent
(claude / opencode / agy), INCLUDING one-shot `run` / `-p` headless calls, goes
through terminalcp — never the native Bash/PowerShell tool. Agent invocations are long-lived,
stream slowly, and often want a follow-up promp