agent-friendly features
Most agent managers are designed for humans. You click buttons, switch tabs, run git commands. The agent sits in a terminal and waits. Pane flips that. Agents can install Pane, discover its commands, create workspaces, start other agents, check on them, and report back. No special SDK. No hosted service. Just a CLI that every agent already knows how to use.
The test: can an agent, starting from zero, install your tool, figure out what it does, create isolated workspaces, start other agents, and manage the whole workflow without a human clicking anything? With Pane, yes.
Published on npm and PyPI. An agent can install Pane with one command, no browser, no download page, no drag-to-Applications. If it has Node or Python, it has Pane.
Why this matters: agents can't click download buttons. If your tool requires a manual install, agents can't set it up. Pane meets agents where they already are: the package manager.
npx --yes runpane@latest
pipx run runpane
pnpm dlx runpane@latestThe full command schema is published at a public URL. An agent can read what Pane offers before it installs anything. No docs site to crawl, no GitHub repo to clone. Just one curl.
Why this matters: agents are cautious about installing packages. If they can verify what a tool does first, they're more likely to use it.
curl -fsSL https://runpane.com/runpane-cli-contract.jsonAfter install, runpane agent-context prints a short summary of every command. Short is key: it fits in an agent's context window. When the agent needs details on one specific command, it loads just that one.
Why this matters: most CLIs have help text designed for humans. Agents need structured, minimal, parseable summaries that don't burn their context window.
runpane agent-context --json
runpane agent-context --command "panes create" --jsonEvery command has a --json flag. Agents get structured data they can parse reliably. No guessing column widths, no stripping ANSI codes, no regex on human-readable tables.
Why this matters: agents that try to parse human-readable output break constantly. JSON is the native language of automation.
runpane panes list --json
runpane panels screen --panel <id> --limit 80 --jsonAgents can't answer "Are you sure?" prompts. Every command that changes something requires --yes for non-interactive use. Without it, the command shows what it would do and exits. With it, it runs.
Why this matters: a single blocking prompt kills an entire agent workflow. Non-interactive mode is the difference between "agent-friendly" and "agent-possible."
runpane panes create --repo active --name "issue-42" --agent codex --yes --jsonWhen an agent reads terminal output, it doesn't need 10,000 lines. Defaults are small. Agents increase with --limit only when they need more.
Why this matters: every extra line of output is tokens the agent could spend thinking. Respecting the context window is the most important thing you can do for agent UX.
runpane panels screen --panel <id> --limit 80 --json
runpane panels output --panel <id> --limit 200 --jsonBefore an agent creates panes, it should verify the environment. runpane doctor checks the wrapper version, platform, installed app, and daemon status. If something's wrong, the agent knows before wasting time.
Why this matters: agents that skip environment checks create panes that fail silently. A doctor command catches problems upfront.
runpane doctor --jsonWhen agents create panes, they use --source agent so the new pane opens in the background. You keep working. The agent keeps working. Nobody interrupts anyone.
Why this matters: an agent that steals your active view every time it creates a workspace is unusable. Background creation is table stakes for agent orchestration.
runpane panes create --repo active --name "task" --agent codex --source agent --wait-ready --yes --jsonOne agent can create panes, start other agents, wait for them to finish, read their output, send follow-up input, and check results. That's a full agent loop. No hosted scheduler, no special SDK. Just CLI commands.
Why this matters: this is where the industry is heading. One orchestrator agent managing a fleet of specialized agents. Pane gives the orchestrator the commands it needs. The open-source runpane-orchestrator skill does exactly this.
runpane panes create --agent codex --prompt "Implement issue 42" --source agent --yes --json
runpane panels wait --panel <id> --for idle --json
runpane panels screen --panel <id> --json
runpane panels submit --panel <id> --text "Continue" --yes --jsonClaude Code, Codex, Aider, Goose, OpenCode, or any CLI agent. Windows, WSL, macOS, Linux, VMs, remote hosts. Pane doesn't lock you into one agent or one platform. If a new agent ships tomorrow, it works in Pane today.
Why this matters: the AI agent landscape changes every month. If your workflow tool is locked to one agent, you're locked to its fate. Pane is agent-agnostic because it's a terminal host, not an AI integration.
Here's the test again: can an agent, starting from zero, install your tool, figure out what it does, and run a full multi-agent workflow without human intervention?
| capability | pane | most others |
|---|---|---|
| Agent self-install | npm / pip | Manual download |
| Command discovery | Public URL + CLI | Read the docs |
| Structured output | --json on everything | Human-readable only |
| Non-interactive | --yes flag | Interactive prompts |
| Agent loops | Full CLI contract | Not supported |
| Cross-OS | Win, WSL, Mac, Linux | macOS only |
| Agent-agnostic | Any terminal CLI | One or two agents |
- Set up your first agent loop
- Pane Chat — the built-in orchestrator
Last updated June 24, 2026