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

  1. Open Settings (Cmd+,)
  2. Navigate to Terminal
  3. 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

SettingDescription
FontTerminal font face
Font SizeText size in points
Cursor StyleBlock, underline, or bar
Cursor BlinkEnable/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 exec to connect to the running container

Container terminals provide isolation while maintaining a seamless experience. See Docker Containers for details.

Keyboard Shortcuts

ActionShortcut
New Terminal TabCmd+T
Toggle Utility AreaCmd+J
Close TerminalDelete (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: