Terminal
Integrated terminal with Ghostty, WezTerm, xterm.js, and SwiftTerm backends
Overview
Agentastic includes a powerful integrated terminal with four backend options:
- Ghostty - GPU-accelerated terminal rendering via Metal (recommended)
- WezTerm - GPU-accelerated, OpenGL-rendered emulator with font ligatures (HarfBuzz)
- xterm.js - WebGL-accelerated backend that runs in a WebView
- SwiftTerm - Pure Swift terminal implementation
Opening the Terminal
- Press Cmd+J to toggle the Utility Area
- Click the Terminal tab in the Utility Area
- New terminal tabs open with your default shell
Terminal Backends
Ghostty (Recommended)
Ghostty provides GPU-accelerated rendering using Metal, delivering excellent performance and smooth scrolling. It's the default backend on supported systems.
Features:
- GPU-accelerated rendering
- Smooth scrolling
- Native macOS integration
- Fast text rendering
SwiftTerm
SwiftTerm is a pure Swift implementation that works on all supported systems.
Features:
- Native Swift implementation
- Reliable fallback option
- Good compatibility
WezTerm
WezTerm is a powerful, GPU-accelerated emulator (OpenGL) popular for its rendering quality and multiplexing.
Features:
- GPU-accelerated rendering
- Font ligatures via HarfBuzz
- Smooth resizing during splits and drag-selection
xterm.js
xterm.js runs in a WebView with WebGL GPU-accelerated rendering, full theme sync, and auto-resize.
Features:
- WebGL-accelerated rendering
- Clickable URL detection
- Theme synced with the editor
Switching Backends
- Open Settings (Cmd+,)
- Navigate to Terminal
- Select your preferred backend under Terminal Emulator
Configuration
Shell Selection
Choose your shell in Settings > Terminal:
- System Default - Uses your login shell
- Bash - GNU Bash
- Zsh - Z Shell (macOS default)
- Custom - Specify a custom shell path
Appearance
| Setting | Description |
|---|---|
| Font | Terminal font face |
| Font Size | Text size in points |
| Cursor Style | Block, underline, or bar |
| Cursor Blink | Enable/disable blinking |
Option as Meta Key
Enable Option as Meta Key to use the Option key as a Meta modifier in terminal applications like Emacs.
Multiple Terminals
Create multiple terminal tabs for different tasks:
- Click the + button in the terminal tab bar
- Each terminal maintains its own shell session
- Right-click tabs for more options
Clickable Links
URLs and file paths printed in the terminal are clickable — no modifier key required:
- Hover over a link and it highlights, with the pointer switching to a hand cursor
- Click (a plain click, no Cmd) opens it — URLs in your default browser, file paths in the editor
- When a split is available, clicking a link can open it in the split so your current pane stays in view
Tip: This works across the Ghostty, WezTerm, and xterm.js backends.
Microphone & Voice Tools
Command-line tools running inside the terminal — such as Claude Code's voice dictation — can use your Mac's microphone. The first time a tool requests it, macOS prompts for permission; the grant belongs to Agentastic, so any terminal pane inherits it.
Shell Integration
Agentastic automatically integrates with your shell to provide enhanced features.
Features
- Tab titles - Shows current directory or running command
- Working directory tracking - Navigator follows terminal location
- Command notifications - Get notified when long-running commands complete
- Process tracking - See running processes in the activity indicator
How It Works
When shell integration is enabled, Agentastic installs hooks into your shell:
- Bash: Sources
.codeedit_shell_integration.bash - Zsh: Sources integration scripts for different startup files
These hooks use preexec and precmd patterns to communicate with Agentastic.
Enabling/Disabling
Toggle shell integration in Settings > Terminal > Shell Integration.
Agent-Aware Terminals
Terminals are associated with their agent context:
- Each agent has its own set of terminal tabs
- Switching agents switches to that agent's terminals
- Terminal state (scrollback, running processes) is preserved per agent
- New terminals open in the current agent's directory
This means you can have different terminal sessions for different branches without interference.
Container Terminals
When an agent uses a Docker container, terminals run inside the container:
- Commands execute in the container environment, not on your host
- The working directory is
/workspace(your mounted worktree) - Your shell configuration is available if Copy Shell Config is enabled
- Terminal sessions use
docker execto connect to the running container
Container terminals provide isolation while maintaining a seamless experience. See Docker Containers for details.
Keyboard Shortcuts
| Action | Shortcut |
|---|---|
| New Terminal Tab | Cmd+T |
| Toggle Utility Area | Cmd+J |
| Close Terminal | Delete (when focused) |
Input Features
- Copy/Paste - Standard clipboard integration
- Option as Meta - Use Option key as Meta in vim, emacs, etc.
- Shift+Enter - Send literal newline
- Ctrl+J - Alternative newline input (Ghostty)
- Image pasting - Paste images as file paths
Theme Integration
The terminal automatically uses your current Agentastic theme:
- ANSI colors match your color scheme
- Background and text colors sync with the editor
- Cursor color follows your selection
Tips
- Use Ghostty for best performance on Apple Silicon
- Shell integration enables command completion notifications
- Multiple tabs are great for parallel tasks (build, tests, server)
- Agent terminals keep your contexts separate
Related Comparisons
If you're choosing between Agentastic's terminal and a standalone terminal app:
- Agentastic vs Warp — embedded terminal vs AI-native terminal
- Best Warp alternative — when you need something other than Warp
- Best Ghostty alternative — Ghostty terminal alternatives
- Best iTerm alternative — moving on from iTerm2