Terminal - Powered by Ghostty
Nexion's terminal is built on Ghostty, a GPU-accelerated terminal emulator written in Zig with Metal rendering. It delivers fast, accurate terminal output with full color support and modern features like split panes.
Core Features
- • Real PTY: Spawns a real pseudo-terminal with a login shell. Your shell profile, aliases, and environment are all loaded. Full SSH agent support (including 1Password biometric unlock).
- • Full Color: Full 256-color and true-color (24-bit) support.
- • Configurable Scrollback: Choose your scrollback buffer size: 1 MB, 5 MB, 10 MB, 25 MB, 50 MB, or 100 MB.
- • Shell Exit Detection: When the shell exits, Nexion detects it and offers to restart or close the pane.
Split Panes
Split the terminal into multiple independent panes, each running its own shell session:
| Action | Shortcut |
|---|---|
| Split Vertically (side by side) | Cmd+D |
| Split Horizontally (top / bottom) | Cmd+Shift+D |
| Next Pane | Cmd+Opt+Right |
| Previous Pane | Cmd+Opt+Left |
- • Infinite Nesting: Any pane can be split again, recursively. Create as many levels of nested splits as you need.
- • Drag & Drop: Reposition panes by dragging them to a new location within the terminal layout.
- • Resizable Dividers: Drag the divider between panes to resize them freely.
- • Session Persistence: Split pane layouts are saved and restored when you relaunch the app.
Workspaces
Workspaces let you define and save reusable pane layouts for a project. Each workspace is a tree of split panes with predefined settings: name, startup command, working directory, and initial focus. Create a workspace once, activate it anytime to instantly set up your terminal environment.
Commands
Press Cmd+\ on a project tab to open the Workspaces dialog directly: the same dialog is reachable from the tab's right-click menu under Workspaces. All workspace commands are also available from the Command Palette (Cmd+Shift+P):
| Command | Description |
|---|---|
Workspace: New... |
Open the visual Workspace Builder to design a new layout from scratch |
Workspace: Activate... |
Pick a saved workspace and apply it to the current tab |
Workspace: Save Current Layout... |
Save the current pane arrangement as a named workspace |
Workspace: Edit... |
Modify an existing workspace in the visual builder |
Workspace Builder
The Workspace Builder is a visual editor where you design your pane layout interactively:
- • Visual Canvas: See a live preview of your layout. Click any pane to select it, then use the split buttons to divide it horizontally or vertically.
- • Split Ratios: Each split has a configurable ratio (default 50/50), so you can give more space to your main editor pane and less to a log watcher.
- • Infinite Nesting: Any pane can be split again, creating arbitrarily complex layouts.
- • Save & Activate: Save the workspace for later, or immediately apply it to replace the current layout.
Pane Configuration
Select a pane in the builder to open the Pane Inspector, where you can configure:
| Field | Description |
|---|---|
| Name | A label for the pane (e.g. "Server", "Tests", "Logs") |
| Command | A shell command to run automatically when the pane opens (e.g. npm run dev, tail -f logs/app.log) |
| Directory | Working directory for the pane, relative to the project root (e.g. ./frontend). Defaults to the project root. |
| Initial Focus | Which pane receives keyboard focus when the workspace is activated |
Storage
Workspaces are stored as JSON files in .nexion/workspaces/ inside your project root. They are project-specific and can be committed to version control to share layouts with your team.
CLI
Manage workspaces from the terminal with the nexion CLI:
Working Directory
The terminal starts in the project's root directory. The Finder and Git panels are always anchored to the project root, regardless of where you cd in the shell.
Dev Servers
Start something that listens on a port and the pane’s status strip shows a chip with that port on it. Click the chip and the page opens in a browser pane beside the terminal; click the cross and the server stops, exactly as Ctrl+C in that pane would. Right-click for the address, or to open it in your default browser instead.
It is read from the socket the process is holding, not from what the tool printed. So it appears whether or not your dev server announced itself, it appears when an agent started the server and you never saw the line, and it disappears on its own the moment nothing is listening, however the server ended.
- • Only ports that answer HTTP get a chip. A database or a language server holding a port is deliberately not offered, and telling them apart is done by asking the port rather than by keeping a list of fashionable port numbers.
- • Opening reuses a browser pane already on that server rather than adding a fifth one to the tab.
-
•
A server at the far end of an
sshsession shows nothing, because the port is open on that machine and not this one. A port forwarded withssh -Ldoes show, because that one really is open here.
AI Features
The terminal integrates with your configured AI provider for two features:
- • Analyze Selection: Select terminal output, right-click, and choose "Analyze Selection" to send it to AI for analysis. Useful for understanding error messages, log output, or build failures.*
- • AI Command Assistant: Right-click and select "AI Command Assistant" to describe what you want to do in plain language. The AI suggests a shell command you can accept and execute directly.*
Context Menu
Beyond the standard Copy and Paste, the terminal right-click menu surfaces:
- •Split Vertically / Split Horizontally
- •Close Split
- •Analyze Selection*
- •AI Command Assistant*
tmux Integration
Nexion includes a native tmux session manager for attaching to local and remote tmux sessions through a visual panel. Browse sessions, create new ones, attach with one click, and connect to remote hosts via SSH: all without leaving the app.
- • Local & Remote Sessions: Browse tmux sessions on your machine or any SSH-configured host.
- • One-click Attach: Sessions open in a dedicated split pane with a status bar indicator.
- • SSH Keychain Integration: Native macOS passphrase dialogs with optional Keychain storage.
See the full tmux Integration documentation for setup instructions and details.
A Pane in a Window of Its Own
Move to New Window, from a tab's right-click menu in the sidebar or from a pane's own menu, puts that pane in a plain window: no sidebar, no tabs, nothing to manage. Useful for a build you want on the second screen, or an agent you want to keep an eye on while you work on something else.
It is a move, not a copy. The shell keeps running, the scrollback comes across, and an agent mid-answer does not notice it changed window. Closing that window is what brings the pane home: a pane taken out of a split returns as a split beside the pane you are in now, and a tab that left whole returns to its own row, in its project and its space. Quitting Nexion brings every one of them back first, and a tab out in a window is written to the session snapshot like any other.
From a script: nexion pane detach takes the focused pane out, --index names another, and nexion pane recall brings them all back.
Floating Terminal Windows
Plugins can open detached floating terminal windows for long-running tasks (builds, servers, watchers) without taking up a pane in your main workspace.
Fonts
Nexion automatically detects all monospace fonts installed on your system and makes them available in preferences. Font sizes range from 9pt to 24pt. The default font is SF Mono at 12pt.
Themes
Nexion ships with 458 built-in color schemes sourced from the Ghostty theme collection. Browse and switch themes in the Terminal preferences panel.
You can also create custom themes with full color control: configure all 16 ANSI colors plus background, foreground, cursor, and selection colors for a fully personalized terminal appearance.
* AI features require a configured provider, works with Anthropic, OpenAI, Codex / ChatGPT, Gemini, or GitHub Models.