Project-first agent workspace

Aya

Run Claude Code, Codex, Pi, Antigravity, Grok, and a dozen more coding agents in persistent terminals that survive quits and app updates—organized by project, split like a tiling terminal, with one rail that surfaces every agent waiting on you.

Persistent Up to 128 panes survive quits, crashes, and updates.
Attention One rail flags every waiting or failed agent.
Coordinated Drive panes and run multi-agent teams via aya.
Aya running a Claude Code session with project tabs, usage rings, and Apple Intelligence tab summaries
01 A native PTY owner keeps sessions alive across restarts and updates.
02 Grouped by project, split like a real tiling terminal.
03 Screen-level rules surface every waiting or failed agent.
04 Repo-defined teams and CLI commands let agents work together.

Built to run many agents at once.

Every terminal is real and persistent. Aya keeps them organized across repositories, reads their rendered screens to spot blocked turns, and lets them coordinate without proxying your API keys.

Never hunt for the blocked agent.

The status rail lists every terminal that is waiting or failed across all your open projects, even ones you are not looking at. Waiting state is read off a headless VT mirror of the pane's real screen, so it clears the moment the agent repaints.

  • Click any row in the rail to jump straight to that pane.
  • Inspect decisions with aya pane state --explain or custom screen rules.
  • Report status from scripts inline via OSC 7501 or aya status.
Aya with a status rail listing a waiting agent and a failed agent from another project
Two terminals split side by side inside one Aya project

Split like a real tiling terminal.

Splitting divides only the selected pane, so the rest of the layout keeps its size. Nest splits arbitrarily, choose between projects on top or on the left, and tear project tabs out into separate windows.

  • BSP splits with independent draggable dividers.
  • Start multiple Git worktrees from one prompt and group panes by checkout.
  • Keyboard navigation follows what you see on screen.

Let agents work as a team.

With aya pane read and aya pane send, one pane delegates work to another and collects the result. For structured workflows, define roles and message routes in .aya/teams/<name>.md and let Aya supervise the rounds.

  • Agents learn their role via aya team whoami and message teammates by role.
  • Holds delivery into aya team inbox when an approval prompt or draft is on screen.
  • Tracks real git commits and file edits to spot teams that are only talking.
A coder pane coordinating with a reviewer pane via aya team send
A single focused Claude Code session in Aya with Apple Intelligence tab and project summaries

Close the app. Update the app. They keep running.

Terminals live in a native PTY owner with headless VT checkpointing, not inside the window. Quit and relaunch, install an update, or reconnect from Aya Web, and every session resumes mid-conversation—with on-device Apple Intelligence labels under every tab and project.

  • Preserves up to 128 live panes across host restarts and app updates.
  • Session-precise resume for Claude Code, Codex, Grok, OpenCode, and more.
  • On-device summaries via Apple Intelligence or Ollama, plus full-text ⌘K search.
Inline diff review & PRs Comment on diff lines in the Changes panel and send the batch to an agent as one prompt. Commit files, push, open PRs, and hand failing CI checks straight to a pane.
Usage dashboard & quota rings Press ⌘U for local 24h–90d token charts across Claude, Codex, and Grok, plus live quota limits for Claude, Codex, Google Antigravity, and Grok.
Conversation GUI & Artifacts Optional native streaming view for Codex, Claude Code, Pi, and Antigravity with /goal, /btw, queue steering, and sandboxed HTML/SVG/Canvas artifacts.
Machines & Remote SSH Monitor GPU, VRAM, and hot Ollama models across SSH hosts with aya machines, and open remote SSH projects that reconnect automatically.
Snippets & 1Password CLI Inject saved prompts via bracketed paste, drop files or images as paths, and opt into AYA_OP_SESSION=1 to share read-only 1Password CLI sessions across panes.
Yours to theme A WebGL-accelerated terminal, custom color schemes, and Light, Dark, or Violet application chrome.

Terminal-native from every side.

The aya CLI opens projects from any shell, lets scripts report status, drives panes by name, and coordinates multi-agent teams. Enable “Tell the agent about aya” on a preset and agents discover the commands themselves via aya capabilities.

aya command-line interface
$ aya ~/Projects/aya
# opens this repository as a project (or focuses it)

$ aya pane read "reviewer"
# returns another pane's rendered screen as plain text

$ aya pane send "reviewer" "Review the diff and run npm test"
# types into that pane and presses Enter (--no-submit only types)

$ aya pane wait "reviewer"
# blocks until the pane settles back to waiting or idle

$ aya team open ux-fix lead=claude fixer=codex tester=this
$ aya team start ux-fix "Make the split divider keyboard-resizable"
# assigns panes to roles in .aya/teams/ux-fix.md and starts round 1

$ aya machines
# lists GPU, memory, and loaded Ollama models across your SSH hosts

Install Aya.

Download the latest release for macOS Apple Silicon or Linux x64. The macOS DMG and zip are Developer ID signed and Apple-notarized; Linux ships a FUSE3 AppImage and DEB package.

build from source
git clone https://github.com/khasinski/aya.git
cd aya
npm install
npm run package