by fynnfluegge
Multi-session AI coding terminal manager - autonomously orchestrate Claude, Codex, Gemini, OpenCode, Cursor
# Add to your Claude Code skills
git clone https://github.com/fynnfluegge/agtxAn AI agent that manages other coding agents in a terminal kanban board - Add tasks. Press one key. An orchestrator agent picks it up, plans, and delegates to multiple coding agents running in parallel. Come back to changes ready to merge.
Let different AI coding agents collaborate autonomously on the same task with automatic session switching and context awareness -
e.g. Gemini → research | Claude → implement | Codex → review
AI coding tools give you one agent, one task, one terminal. agtx gives you a kanban board where multiple coding agents work in parallel — each in its own git worktree, each in its own tmux window, running autonomously through a spec-driven workflow managed by an orchestrator agent.
With the orchestrator, you don't even manage the board yourself. An AI agent picks up tasks, delegates work, and ensures getting things done through planning, implementation, review and resolving conflicts — while you focus on what matters: research, defining tasks, and merging changes.
[!TIP] Check out the Contributing section or have a look at to get involved and become a contributor ⭐️
No comments yet. Be the first to share your thoughts!
[!NOTE] Just need a plain coding agent session manager with full human-in-the-loop control and no automatic spec-driven skill execution and orchestration on advancing tasks?
Choose the
voidplugin and enjoy the kanban coding agent board - with full human control.
# Install
curl -fsSL https://raw.githubusercontent.com/fynnfluegge/agtx/main/install.sh | bash
# Run in any git repository
cd your-project && agtx
# Dashboard mode — manage all projects
agtx -g
# Orchestrator mode — let an AI manage the board for you
agtx --experimental
[!NOTE] Add
.agtx/to your project's.gitignoreto avoid committing worktrees and local task data.
# Install from source
cargo build --release
cp target/release/agtx ~/.local/bin/
| Key | Action |
|-----|--------|
| h/l or ←/→ | Move between columns |
| j/k or ↑/↓ | Move between tasks |
| o | Create new task |
| R | Enter research mode |
| ↩ | Open task (view agent session) |
| m | Move task forward in workflow |
| r | Resume task (Review → Running) / Move back (Running → Planning) |
| p | Next phase (Review → Planning, cyclic plugins only) |
| d | Show git diff |
| x | Delete task |
| / | Search tasks |
| P | Select spec-driven workflow plugin |
| O | Toggle orchestrator agent (--experimental) |
| e | Toggle project sidebar |
| q | Quit |
Press o to create a new task. The wizard guides you through:
The agent is configured at the project level via config.toml (not per-task).
When writing a task description, you can reference files, skills, and other tasks inline:
| Key | Action |
|-----|--------|
| # or @ | Fuzzy search and insert a file path |
| / | Fuzzy search and insert an agent skill/command (at line start or after space) |
| ! | Fuzzy search and insert a task reference (at line start or after space) |
Config file location: ~/.config/agtx/config.toml
agtx creates a new git worktree for each task. By default it auto-detects the base branch in this
order: main, then master, then the current branch. You can override this to force a specific
base branch (for example dev or develop).
Global worktree defaults can be set here:
# ~/.config/agtx/config.toml
[worktree]
base_branch = "dev"
worktree_dir = ".worktrees" # default: ".agtx/worktrees"
worktree_dir is the directory (relative to project root) where task worktrees are created. Defaults
to .agtx/worktrees if not set.
Per-project settings can be placed in .agtx/config.toml at the project root:
# Base branch used when creating new task worktrees (optional)
base_branch = "dev"
# Directory where worktrees are created (optional, default: ".agtx/worktrees")
worktree_dir = ".worktrees"
# Files to copy from project root into each new worktree (comma-separated)
# Paths are relative and preserve directory structure
copy_files = ".env, .env.local, web/.env.local"
# Shell command to run inside the worktree after creation and file copying
init_script = "scripts/init_worktree.sh"
# Shell command to run inside the worktree before removal
cleanup_script = "scripts/cleanup_worktree.sh"
base_branch controls which branch new task worktrees are created from. If omitted or empty, agtx
auto-detects main, master, or falls back to the current branch.
By default, all phases use default_agent. You can override the agent for specific phases globally or per project:
# ~/.config/agtx/config.toml
default_agent = "claude"
[agents]
research = "gemini"
planning = "claude"
running = "claude"
review = "codex"
# .agtx/config.toml (project override — takes precedence over global)
[agents]
running = "codex"
Plug any spec-driven framework into the task lifecycle. Define commands, prompts, and artifacts — agtx handles phase gating, artifact polling, worktree sync, agent switching, and autonomous execution.
Press P to switch plugins. Ships with 7 built-in:
| Plugin | Description | |--------|-------------| | void | Plain agent session - no prompting or skills, task description prefilled in input | | agtx (default) | Built-in workflow with skills and prompts for each phase | | gsd | Get Shit Done - structured spec-driven development with interactive planning | | spec-kit | Spec-Driven Development by GitHub - specifications become executable artifacts | | openspec | OpenSpec - lightweight AI-guided specification framework | | bmad | BMAD Method - AI-driven agile development with structured phases | | superpowers | Superpowers - brainstorming, plans, TDD, subagent-driven development |
Commands are written once in canonical format and automatically translated per agent:
| Canonical (plugin.toml) | Claude / Gemini | Codex | OpenCode | Cursor |
|--------------------------|-----------------|-------|----------|--------|
| /agtx:plan | /agtx:plan | $agtx-plan | /agtx-plan | /agtx-plan |
| | Claude | Codex | Gemini | OpenCod