Pane is a desktop agent manager for developers running TUI-based CLI agents. Run multiple OpenCode sessions in parallel — each on its own branch, with LSP awareness intact — without configuring tmux or managing worktrees by hand.
Windows SmartScreen warningDirect downloads can show a SmartScreen warning while Pane is unsigned. Pane is fully open source, so you can audit the code and build from source yourself.1. Click More info2. Click Run anyway3. Continue the installerThe PowerShell install downloads the official release directly and avoids most browser download friction.npm global install
OpenCode is a TUI-first CLI agent built by the Anomaly team, written in Go. It is LSP-aware — meaning it passes real type information and diagnostics into the agent context — and supports 75+ model providers. With around 165,000 GitHub stars it is one of the fastest-growing agents in this space.
OpenCode suits engineers who want the precision of LSP-grounded edits (no hallucinated import paths) and a TUI they can navigate without leaving the terminal. Built by Anomaly (formerly the SST team), the source is maintained at anomalyco/opencode.
I reach for OpenCode when I want LSP-grounded edits on a TypeScript project — running it in Pane so the session stays on its own branch while other agents work in separate panes.
lsp awareness across parallel sessions
OpenCode resolves imports and diagnostics through the project directory it is launched in. Pane gives each session its own worktree, so each OpenCode instance sees a clean checkout of the right branch. The LSP operates against that checkout — no cross-session contamination, no shared dirty state.
session management without the tmux overhead
Running multiple OpenCode sessions in tmux means naming windows, remembering keybindings, and correlating window numbers with branches. Pane keeps sessions named by what they are doing — each one shows its output and its branch — so switching between them does not require reconstructing context from a terminal window index.
what pane does
- starts each OpenCode session in an isolated worktree
- lets you run OpenCode alongside Claude Code, Aider, or any other CLI agent
- keeps terminal output, diffs, and git actions in one place
- works natively on Windows, Mac, and Linux without tmux or WSL
when a single opencode session is enough
If you work on one branch at a time and one terminal is manageable, you do not need Pane. Pane earns its keep when you want parallel OpenCode sessions on different branches, or you want to mix OpenCode with other agents and keep each one isolated.
Last verified against OpenCode's current release. Written by Parsa Khazaeepoul, co-founder of Pane.
frequently asked questions
No. OpenCode's language server integration works through the project directory it is pointed at. Running inside a Pane terminal does not change how OpenCode resolves files, imports, or LSP diagnostics — it still reads from the same worktree root.
Yes. Start one OpenCode session per pane, each against its own worktree. They run as separate processes with separate working directories and do not share state.
Yes. Pane does not care which CLI agent is in each terminal. Put OpenCode in one pane, Claude Code in another, and Aider in a third. Each session runs on its own branch via worktrees.
Yes. OpenCode's share link is generated by the OpenCode process itself, not by the terminal host. The link works the same whether you run OpenCode in Pane, in a stock terminal, or in tmux.
Yes. Each OpenCode session is a separate process with its own configuration. One session can use Anthropic, another can use OpenAI, and a third can use a local Ollama model — all running in parallel inside Pane.
Yes. Pane is a native Windows desktop app. OpenCode runs in a Pane terminal on Windows without needing WSL, though Pane works inside WSL too if that is your setup.
Pane hosts a full terminal emulator for each session. OpenCode's TUI renders normally — the same as it would in any terminal that supports ANSI sequences.
OpenCode manages its own git operations. Pane manages the workspace around it: which worktrees exist, how sessions are named, and where diffs get reviewed. The two layers do not conflict.
Terminal multiplexers manage panes of text. Pane manages agent sessions: worktree creation, session naming, diff review, and git actions are all part of the interface — not something you script yourself.
If you work on one branch at a time and one terminal covers your workflow, you do not need Pane. Pane is useful when you want to run multiple OpenCode sessions in parallel, or combine OpenCode with other CLI agents, and need isolation between them.