umputun/agterm

Terminal for agentic flow

What it solves

agterm is a native macOS terminal designed specifically for developers working with multiple AI coding agents simultaneously. Traditional tabbed terminals often make it difficult to track numerous long-lived agent sessions, leading to confusion about which agent is progressing, which is blocked, and which requires user intervention. agterm solves this by organizing sessions into named workspaces and providing visual cues for agent status.

How it works

It embeds the Ghostty engine (libghostty) for core terminal rendering and shell I/O, while adding a custom management layer on top. It organizes shells into a named hierarchy of Windows > Workspaces > Sessions > Panes.

Key mechanisms include:

  • Control API and CLI: A tool called agtermctl allows external scripts or AI agents to programmatically create sessions, resize windows, run overlays, and send notifications via a local socket.
  • Agent Integration: It provides installable "skills" and "status hooks" that allow agents (like Claude Code or Codex) to report their state (active, blocked, completed) directly onto the session's sidebar row and manage their own layout.
  • Dashboard: A grid view that allows users to monitor the live output of multiple sessions at once.
  • Overlays: The ability to run temporary programs (like diff viewers) in a floating window over a session without disturbing the underlying shell.

Who it’s for

Developers and power users on macOS (Apple Silicon, macOS 14+) who use AI coding agents across multiple projects and need a highly organized, scriptable terminal environment to manage concurrent agentic workflows.

Highlights

  • Workspace Organization: Groups sessions into named contexts (e.g., "work", "personal") to prevent tab clutter.
  • Agent Status Tracking: Visual indicators (colors and pulsing glyphs) in the sidebar and dashboard show which agents are active or blocked.
  • Programmable Interface: Almost everything is scriptable via the agtermctl CLI.
  • Advanced Layouts: Supports split panes, scratch terminals, and floating overlays.
  • Efficient Navigation: Includes fuzzy palettes for sessions and actions, and a MRU (most-recently-used) switcher for fast jumping between contexts.