Opening the browser
Create a browser surface:- Press ⌘ ⇧ L to open a browser in a split
- Use the CLI:
cmux new-pane --type browser - Click the browser split button in the UI
Browser features
Navigation
| Shortcut | Action |
|---|---|
| ⌘ L | Focus address bar |
| ⌘ [ | Back |
| ⌘ ] | Forward |
| ⌘ R | Reload page |
- Direct URL entry (http/https)
- Search queries (uses configured search engine)
- History suggestions
- Autocomplete from browser history
Search engines
Configure your preferred search engine in Settings → Browser:- Google (default)
- DuckDuckGo
- Bing
- Kagi
Search suggestions are fetched from the search engine’s API and displayed as you type. You can disable this in Settings → Browser → Search Suggestions.
Developer tools
Access WebKit developer tools for debugging:| Shortcut | Action |
|---|---|
| ⌥ ⌘ I | Toggle Developer Tools |
| ⌥ ⌘ C | Show JavaScript Console |
Developer tools shortcuts follow Safari defaults and are customizable in Settings → Keyboard Shortcuts.
Browser theme
The browser adapts to Ghostty’s terminal theme:- Background color matches the terminal background
- Supports transparent/translucent backgrounds
- Light/dark mode based on system appearance or custom override
- System: Follow macOS appearance
- Light: Force light mode
- Dark: Force dark mode
Security and privacy
Insecure HTTP blocking
By default, cmux blocks insecure HTTP URLs except for localhost and common development hosts:localhost127.0.0.1::10.0.0.0*.localtest.me
- “Allow Once” (one-time bypass)
- “Always Allow” (add to persistent allowlist)
- “Cancel”
Cookie and session sharing
All browser panels share a WKProcessPool, meaning:- Cookies are shared across all browser tabs
- You stay logged in when you split or create new browser surfaces
- Session storage is shared within the same origin
Opening external links
By default, cmux intercepts terminal link clicks and opens them in the built-in browser:- Terminal links (Cmd+Click on URLs): Open in cmux browser
- Sidebar PR links: Open in cmux browser
opencommand interception: Redirectopen <url>to cmux browser
Host whitelist
Restrict which hosts open in cmux browser vs. external browser using the host whitelist (Settings → Browser → Host Whitelist):- Empty whitelist = all hosts allowed
- Add specific hosts (e.g.,
localhost,github.com) - Supports wildcards (e.g.,
*.vercel.app)
Browser history
cmux maintains a local browser history store:- Persisted to
~/Library/Application Support/com.cmuxterm.app/browser_history.json - Stores URL, title, visit count, and last visited timestamp
- Powers address bar autocomplete and suggestions
- Automatically deduplicates URLs (ignores trailing slashes, www prefix)
Clear history
Clear browser history in Settings → Browser → Clear History. This removes all stored URLs and resets autocomplete suggestions.Scriptable API
The browser includes a scriptable API for AI agent interaction, ported from agent-browser:Accessibility tree snapshot
Capture the accessibility tree for page structure:Element interaction
Agents can interact with page elements:The scriptable API is designed for programmatic control by agents. For interactive browsing, use the standard keyboard shortcuts and mouse.
Page zoom
Zoom in/out on web pages:- Browser zoom is separate from terminal font zoom
- Zoom level is saved per browser panel and restored on session reload
- Defaults to 100% (1.0x)
Navigation history
Each browser panel maintains its own navigation history:- Back/forward buttons in the UI
- Keyboard shortcuts ⌘ [ / ⌘ ]
- History is saved in session state and restored on app relaunch
- Back history (pages you visited before current)
- Forward history (pages you can go forward to)
- Current URL
Telemetry hooks
The browser injects JavaScript hooks to capture:- Console messages (log, info, warn, error, debug)
- Unhandled errors and promise rejections
- Dialog calls (alert, confirm, prompt)
Telemetry hooks are installed via content scripts and don’t interfere with normal page execution.