Axel is for anyone who wants the calm of a task list and their agents in war mode — without losing track of what's running, where, or why.
It pairs a native macOS app with a fast RUST CLI to orchestrate many AI agents across tmux panes, Ghostty based terminals, and git worktrees — with a user interface inspired by Things.
Important
Axel is currently in beta and may have bugs. Contributions and bug reports are welcome.
- A clean, Things‑like inbox for tasks and priorities.
- A living map of your active agents, each anchored to a worktree and terminal.
- A system that literally makes “spin up another agent in a new git worktree” feel as cheap as “open a new tab.”
Axel turns agent work into a first‑class workflow:
- Tasks with intent: queue, run, and complete agent tasks with status, priority, and context.
- Real terminals: manage live sessions (Claude, Codex, etc.) in tmux panes and Ghostty.
- Worktree‑first isolation: one agent, one branch — no more stepping on each other.
- Inbox & permissions: see agent requests in a single stream and approve quickly.
- Skills & context: reusable prompts from
./skillsand~/.config/axel/skills. - Sync built‑in: Automerge CRDT + Supabase for conflict‑free collaboration.
- You create a task in the app.
- Axel spawns a terminal session via the CLI.
- The agent runs in tmux, optionally inside a new git worktree.
- The app shows live output, events, and permission prompts.
- When the work is done, you close the loop and ship.
Native macOS app (SwiftUI)
- Five‑column workspace layout for tasks, inbox, terminals, skills, and team.
- SSE inbox for real‑time agent events and permission requests.
- SwiftData + Automerge for local state + cross‑device sync.
Axel CLI (Rust)
- Launches tmux grids and agent panes.
- Reads
AXEL.mdlayouts and skills. - Manages worktrees and session recovery.
Terminal layer
- Ghostty for fast, modern terminal emulation.
- tmux for pane orchestration.
- git worktrees for clean agent isolation.
Requirements: macOS 14+, Xcode 15+ (for app), Rust (for CLI dev)
# Open the app in Xcode
open Axel.xcodeproj
# Run the app (Debug)
./run.shWhen you launch Axel, it can install the CLI to ~/.local/bin if it isn’t already present.
1. Create a task “Refactor API caching”
2. Assign it to Claude in a new worktree
3. Claude runs in tmux + Ghostty
4. Permission requests appear in Inbox
5. Review output, merge, and mark done
Axel/
├── Views/macOS/ # macOS UI (tasks, inbox, terminals)
├── Services/ # SSE inbox, sync, CLI orchestration
├── Models/ # SwiftData entities
Packages/
├── GhosttyKit/ # terminal emulation
├── AutomergeWrapper/ # CRDT sync wrapper
We want Axel to feel like a tool you want to use daily.
Here’s what we value in contributions:
- Workflow‑first: every feature should reduce mental overhead for multi‑agent work.
- Beautifully restrained UI: clarity and delight, never clutter.
- Terminal authenticity: real tmux panes, real worktrees, no fakery.
- Performance: fast startup, fast rendering, fast agent recovery.
If you’re interested, open an issue or send a PR with:
- a short problem statement
- a proposed solution
- any design notes or workflow details
We’ve built other systems in this space (not necessarily good, but useful lessons):
Axel is under active development. The core workflow is here, and we’re making it sharper every week.
See CLAUDE.md for workspace‑specific notes.