Skip to Content
Tabs

Tabs

Diff, explorer, browser, and terminals — all in tabs.

Syntax-highlighted diff viewer with split and unified modes. Auto-refreshes on file changes.

A tab is a view inside a pane — agents, diff viewer, file explorer, git tree, browser, terminals. Each pane can hold any number of tabs. Switch between them with +A and +D.

Split tab groups

Arrange tabs side by side within a pane, VS Code style. Any tab can join a split: agents, terminals, the diff viewer, explorer, browser. Run two agents next to each other, or keep the diff open beside the agent writing the code.

Drag and drop

Grab a tab and drag it over the tab area:

  • Drop on the left, right, top, or bottom edge of a group to split in that direction. The highlighted band shows where the new group goes.
  • Drop on the center of another group to move the tab into it.
  • Drop between tabs in a strip to reorder. The indicator line shows exactly where the tab lands, including after the last tab.

Drag the divider between groups to resize them.

Keyboard

ActionmacOSWindows / Linux
Split right⌘\Ctrl+\
Split down⌘⇧\Ctrl+Shift+\
Move focus between groups⌘⌥ Arrow keysCtrl+Alt+Arrow keys
Zoom the focused group⌘⇧ZCtrl+Shift+Z

Zoom temporarily expands the focused group to the full tab area (tmux prefix+z, same idea). Press it again to restore the layout; splitting or moving focus to another group also exits zoom.

Existing tab shortcuts act on the focused group: +A and +D cycle its tabs, ++1-9 jumps to one, +W closes the active one.

The layout (splits, sizes, active tab per group, focused group) persists per pane across restarts. The pinned terminal at the bottom of each pane stays where it is; it never joins a split.

Diff

3 files changed+42 / −18
Before
1 import { db } from './db'
2- export function getUser(id: string) {
4 const user = await db.find(id)
5- if (!user) return null
7 return user
After
1 import { db } from './db'
3+ export async function getUser(id: string) {
4 const user = await db.find(id)
6+ if (!user) throw new NotFoundError()
7 return user

Always-on diff viewer. Shows every file changed in the current pane’s worktree relative to its base branch. Split or unified mode, auto-refreshes whenever the agent writes to disk.

Explorer

Monaco-powered file editor with a file tree on the left and syntax highlighting. Edit any file in the worktree directly.

Browser

In-app webview for previewing your running app. No need to switch windows — see your dev server output right next to the terminal.

Terminals

Terminal
$ claude
Welcome to Claude Code...
 
$ Add a login page with email and password fields
✓ Created src/login.tsx
✓ Updated src/App.tsx
$

Your terminals and agent sessions. Full 50,000-line scrollback. Run any CLI agent — Claude Code, Codex, Aider, Goose, or any custom command.

Resource Monitor

Resource Usage
CPU
Memory1.2 GB
Main
248 MB
GPU
168 MB
Utility
53 MB
Renderer
409 MB
Utility
42 MB
Renderer
230 MB
bash
9 MB
bash
11 MB
node
34 MB
cmd
6 MB

A popover accessible from any session showing per-process CPU and memory usage. See exactly how much each terminal, agent, and renderer is consuming.

TabmacOSWindows / Linux
Terminal⌘⌥1Ctrl+Alt+1
Editor⌘⌥2Ctrl+Alt+2
Claude Code⌘⌥3Ctrl+Alt+3
Codex⌘⌥4Ctrl+Alt+4
Last updated on