by dcouple
Terminal-first, open-source AI agent manager for any CLI agent (agent agnostic), any OS (mac, windows, linux). The Open-Source Agentic Development Environment for running multiple coding agents in parallel. Run locally or self-host Remote Pane to manage agents from desktop or phone. Simplify multi-agent orchestration with the runpane CLI.
# Add to your Claude Code skills
git clone https://github.com/dcouple/PaneLast scanned: 6/19/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@anthropic-ai/claude-code: Claude Code has a Workspace Trust Dialog Bypass via Repo-Controlled Settings File",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@hono/node-server: @hono/node-server has authorization bypass for protected static paths via encoded slashes in Serve Static Middleware",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@xmldom/xmldom: xmldom: XML injection via unsafe CDATA serialization allows attacker-controlled markup insertion",
"severity": "high"
},
{
"type": "npm-audit",
"message": "ajv: ajv has ReDoS when using `$data` option",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "axios: Axios has a NO_PROXY Hostname Normalization Bypass that Leads to SSRF",
"severity": "high"
},
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: Zero-step sequence causes process hang and memory exhaustion",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "bull: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "concurrently: Vulnerability found",
"severity": "critical"
},
{
"type": "npm-audit",
"message": "electron: Electron: AppleScript injection in app.moveToApplicationsFolder on macOS",
"severity": "high"
},
{
"type": "npm-audit",
"message": "express-rate-limit: express-rate-limit: IPv4-mapped IPv6 addresses bypass per-client rate limiting on servers with dual-stack network",
"severity": "high"
},
{
"type": "npm-audit",
"message": "fast-uri: fast-uri vulnerable to path traversal via percent-encoded dot segments",
"severity": "high"
},
{
"type": "npm-audit",
"message": "follow-redirects: follow-redirects leaks Custom Authentication Headers to Cross-Domain Redirect Targets",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "form-data: form-data: CRLF injection in form-data via unescaped multipart field names and filenames",
"severity": "high"
},
{
"type": "npm-audit",
"message": "hono: Hono added timing comparison hardening in basicAuth and bearerAuth",
"severity": "high"
},
{
"type": "npm-audit",
"message": "ip-address: ip-address has XSS in Address6 HTML-emitting methods",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "joi: joi has an uncaught RangeError on deeply nested input through recursive `link()` schemas",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "js-yaml: JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "lodash: lodash vulnerable to Code Injection via `_.template` imports key names",
"severity": "high"
},
{
"type": "npm-audit",
"message": "minimatch: minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"severity": "high"
},
{
"type": "npm-audit",
"message": "path-to-regexp: path-to-regexp vulnerable to Denial of Service via sequential optional groups",
"severity": "high"
},
{
"type": "npm-audit",
"message": "picomatch: Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
"severity": "high"
},
{
"type": "npm-audit",
"message": "qs: qs's arrayLimit bypass in comma parsing allows denial of service",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "shell-quote: shell-quote quote() does not escape newlines in object .op values",
"severity": "critical"
},
{
"type": "npm-audit",
"message": "tar: Arbitrary File Read/Write via Hardlink Target Escape Through Symlink Chain in node-tar Extraction",
"severity": "high"
},
{
"type": "npm-audit",
"message": "tmp: tmp has Path Traversal via unsanitized prefix/postfix that enables directory escape",
"severity": "high"
},
{
"type": "npm-audit",
"message": "uuid: uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided",
"severity": "medium"
}
],
"status": "FAILED",
"scannedAt": "2026-06-19T09:05:48.593Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}Pane is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by dcouple. Terminal-first, open-source AI agent manager for any CLI agent (agent agnostic), any OS (mac, windows, linux). The Open-Source Agentic Development Environment for running multiple coding agents in parallel. Run locally or self-host Remote Pane to manage agents from desktop or phone. Simplify multi-agent orchestration with the runpane CLI. It has 210 GitHub stars.
Pane failed SkillsLLM's automated security scan, which flagged one or more high-severity issues. Review the Security Report section carefully before using it.
Clone the repository with "git clone https://github.com/dcouple/Pane" and add it to your Claude Code skills directory (see the Installation section above).
Pane is primarily written in TypeScript. It is open-source under dcouple on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh Pane against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
Quick install (recommended)
Opens a guided setup for desktop install, remote host setup, updates, and diagnostics.
Prefer a normal app installer?
Installation · What Flying Feels Like · Remote Pane · Agent-Operable CLI · Keyboard Shortcuts · Building from Source
Not an IDE. Not a terminal emulator. Vim for agent management.
Pane manages AI coding agents without replacing them. If it runs in a terminal, it runs in Pane — instantly, with zero integration. Claude Code, Codex, Aider, Goose, or any CLI tool. No plugins, no SDK, no waiting for support.
AI coding agents are incredible. Claude Code can work autonomously for hours. Codex can ship features end-to-end. Aider can refactor entire modules. The models are not the bottleneck.
The way you interact with them is.
Managing AI agents right now feels like air traffic control with a walkie-talkie. You're juggling terminal windows. Copy-pasting between tabs. Losing track of which agent is on which branch. Alt-tabbing between your diff viewer, your terminal, your git client, and your editor. The agents are fast — but your tools make you slow.
And then there's git worktrees. Everyone agrees worktrees are the right way to run parallel agents — isolated branches, no conflicts, clean separation. But actually using them? It's miserable. git worktree add, git worktree remove, remembering paths, tracking which worktree is on which branch, cleaning up stale ones, rebasing back to main, squashing commits before merging. Even experienced developers fumble the workflow. It's powerful infrastructure with terrible UX.
Pane makes worktrees invisible. You create a session, Pane creates the worktree. You delete a session, Pane cleans it up. You hit a shortcut, Pane rebases from main. You never type git worktree again. All the isolation benefits, none of the pain.
Each of these is a small thing. Together they compound fast.
| Feature | ||
|---|---|---|
| Remote Pane | Run panes, worktrees, terminals, files, git state, and approval prompts on a self-hosted remote machine while controlling them from desktop Pane or the browser app at runpane.com/app. | Setup |
| Agent-Operable CLI | Pane ships with runpane agent-context, runpane repos add, and runpane panes create, so a coding agent can discover Pane's command schema, register a repo, and open follow-up panes for issues or tasks. |
Contract |
| @mention Terminals | Type @ in any terminal to pull the last 500 lines from another pane's terminal directly into your context, no copy-paste required. |
|
| Clipboard Shortcuts | Ctrl+Alt+[key] pastes any saved text snippet instantly, so your most-used prompts are one keystroke away forever. |
|
| Terminal Popover | Highlight any text in a terminal and an intelligent popover offers the right action: copy, open in browser, or show in explorer. | |
| Built-in Browser | Preview any URL in a tab next to your terminals so every pane can see its own running dev server without alt-tabbing. | |
| Resource Manager | Built-in CPU and memory monitor broken down per pane and per process, so you can catch a runaway agent before it eats your laptop. | |
| Status Cues | Project dots show where work is happening, pane names breathe while active, and a dashed underline marks panes that finished while you were looking elsewhere. | |
| Jump + Refresh | Jump to top, jump to bottom, or hard-refresh any terminal from the toolbar to unstick a frozen state in one click. | |
| Auto Secrets Copy | Every pane automatically mirrors .env files and secrets from your root project so your worktree is runnable the moment it's created. |
|
| Isolated Ports | Each pane runs on its own port range automatically, so you can spin up five dev servers in parallel without a single conflict. | |
| Terminal Rendering Patches | Claude Code's scroll-jump bug (long conversations snapping to top when you scroll up) is fixed here, even though it's still broken in Claude Code itself. | |
| Drag and Drop | Drop any file up to 50MB into a terminal and it lands exactly where you need it. |
Run agents on a VM, WSL box, home server, desktop, Mac mini, or cloud machine while you keep the Pane UI on your laptop or phone. Remote Pane is self-hosted and open source: the host machine runs the repos, terminals, git state, files, agent credentials, and compute; the client just connects with a pane-remote://... code.
The easiest setup path is in the app:
Settings > Remote Pane on that host machine.pane-remote://... connection code.Settings > Remote Pane, paste the code, and connect.For a headless VM or server, use runpane:
npx --yes runpane@latest install daemon --label "My Server"
pnpm:
pnpm dlx runpane@latest install daemon --label "My Server"
Python tools:
pipx run runpane install daemon --label "My Server"
Use SSH instead of Tailscale:
npx --yes runpane@latest install daemon --label "My Server" --prefer-tunnel ssh
The hosted shell installers remain available:
curl -fsSL https://runpane.com/install-remote.sh | sh -s -- --label "My Server"
Windows PowerShell:
& ([scriptblock]::Create((irm https://runpane.com/install-remote.ps1))) -Label "My Server"
The CLI setup command prints the same connection code and, for SSH mode, the forwarding command. See the Remote Daemon docs for the full step-by-step setup, mobile install instructions, API key notes, and security model.
Pane is not just a place where agents run. It exposes a stable runpane CLI contract that agents can use to manage the workspace for you.
For example, you can ask an agent to create panes for a set of GitHub issues and start Codex, Claude Code, or any terminal command in each one. The agent can inspect the avail