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.

Terminal as Chat

Any live agent terminal running Claude Code or Codex can be viewed as a chat conversation instead of raw terminal output — and switched back at any time without interrupting the agent.

Chat view reads the same session your terminal shows and renders it as a conversation:

  • Your prompts appear as chat bubbles
  • The agent's prose is shown inline
  • Tool calls collapse into compact work cards you can expand
  • Finished turns fold away behind a "Worked for…" summary
  • Interactive menus become clickable choice buttons — selecting one drives the live terminal underneath

Because chat view is just a different lens on the live session, nothing changes about how the agent runs; flip between Terminal and Chat freely.

Switching to Chat

Toggle Terminal | Chat from the terminal options menu (the slider icon in the tab toolbar), by right-clicking the terminal tab, or from the Inspector's Terminal card.

Terminal Options Menu

Terminal tabs have an options menu — matching the editor's — available from the tab toolbar and by right-clicking the tab:

ActionDescription
Resume agent sessionRe-runs the agent's resume command (e.g. claude --resume). Enabled once an agent session is detected.
Terminal / ChatSwitch between the raw terminal and the chat view.
Rename…Give the tab a custom name; clear it to restore the automatic name.
Copy Working DirectoryCopy the terminal's current directory.
Copy Terminal ContentCopy the full scrollback as plain text.
Reveal in FinderOpen the working directory in Finder (local terminals).

Resuming Agents You Start Yourself

Agentastic detects agents you launch by hand in a terminal — not just the ones started from Agent Home. When you type an agent command, shell integration recognizes it and remembers the exact invocation, so the session becomes a first-class agent session:

  • Resume in the terminal options menu re-runs your session with the agent's continue flag (for example, claude --resume), so you can pick up where you left off.
  • The Inspector's Terminal card surfaces the same resume shortcut.
  • Activity indicators treat the terminal as a live agent session.

Recognition covers the common agent CLIs — including claude, codex, gemini, qwen, opencode, goose, aider, amp, copilot, and droid — and also sees through package runners, so npx @anthropic-ai/claude-code@latest or bunx @openai/codex@latest are matched too. Flags you passed are preserved when the session is resumed.

Note: This relies on shell integration. Keep it enabled in Settings → Terminal → Shell Integration.

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: