Pane is agent-agnostic. When you run Claude Code in a Pane terminal, it picks up MCP servers configured in .mcp.json (project-level) or ~/.claude.json (user-level). Pane does not re-implement MCP — the agent does all the heavy lifting.
How it works
A Pane is a real terminal. Claude Code running in that terminal reads .mcp.json exactly as it would in a standalone terminal. The same applies to any other agent that gains MCP support — Aider, Codex, etc. Pane’s job is to give each agent an isolated shell; the agent’s job is to talk to MCP servers.
Example: Context7 docs lookup
Drop an .mcp.json at the root of your worktree:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"]
}
}
}Claude Code will connect automatically on the next claude invocation.
Source: github.com/upstash/context7
Example: Linear ticket → PR
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "linear-mcp-server"],
"env": {
"LINEAR_API_KEY": "${LINEAR_API_KEY}"
}
}
}
}Workflow inside a Pane terminal:
- Agent reads the Linear issue via the
linearMCP tool. - Agent writes code in the current worktree.
- Agent commits and opens a PR with
gh pr create. - You review in the adjacent panel without switching windows.
Source: linear.app
Isolating MCPs per pane
Because each Pane runs in its own isolated worktree directory, each worktree can have its own .mcp.json. One pane can connect to Context7 while another connects to a private internal MCP server — no env-var collision, no shared process state.
my-repo/ ← main worktree (.mcp.json → context7)
../api-pane/ ← worktree for API work (.mcp.json → internal-mcp)
../web-pane/ ← worktree for UI work (no .mcp.json)Where to put credentials
| Config file | Scope | Use for |
|---|---|---|
~/.claude.json | user-wide | personal API keys, MCPs you use everywhere |
.mcp.json in worktree | project-scoped | repo-specific MCPs, team-shared config |
~/.claude.json is shared across all Pane sessions for the same OS user. Per-worktree .mcp.json is the right place for project-specific servers. Commit .mcp.json to your repo if your whole team uses those servers; add secret env vars to .env and list it in .gitignore.
Related
- AI providers — set provider API keys per pane
- Security & permissions — what Pane does and does not send off-device