
Tmux Agents
- 21 installs
- 638 repo stars
- Updated March 7, 2026
- sundial-org/awesome-openclaw-skills
Helps with ai & agent building tasks during AI-assisted development.
About
tmux-agents is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.
- tmux-agents
- AI & Agent Building
- AI-coding skill
Tmux Agents by the numbers
- 21 all-time installs (skills.sh)
- Ranked #10,307 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/sundial-org/awesome-openclaw-skills --skill tmux-agentsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 21 |
|---|---|
| repo stars | ★ 638 |
| Last updated | March 7, 2026 |
| Repository | sundial-org/awesome-openclaw-skills ↗ |
What it does
Helps with ai & agent building tasks during AI-assisted development.
Files
Tmux Agents
Run coding agents in persistent tmux sessions. They work in the background while you do other things.
Available Agents
☁️ Cloud Agents (API credits)
| Agent | Command | Best For |
|---|---|---|
| claude | Claude Code | Complex coding, refactoring, full projects |
| codex | OpenAI Codex | Quick edits, auto-approve mode |
| gemini | Google Gemini | Research, analysis, documentation |
🦙 Local Agents (FREE via Ollama)
| Agent | Command | Best For |
|---|---|---|
| ollama-claude | Claude Code + Ollama | Long experiments, heavy refactoring |
| ollama-codex | Codex + Ollama | Extended coding sessions |
Local agents use your Mac's GPU — no API costs, great for experimentation!
Quick Commands
Spawn a new agent session
./skills/tmux-agents/scripts/spawn.sh <name> <task> [agent]
# Cloud (uses API credits)
./skills/tmux-agents/scripts/spawn.sh fix-bug "Fix login validation" claude
./skills/tmux-agents/scripts/spawn.sh refactor "Refactor the auth module" codex
./skills/tmux-agents/scripts/spawn.sh research "Research caching strategies" gemini
# Local (FREE - uses Ollama)
./skills/tmux-agents/scripts/spawn.sh experiment "Rewrite entire test suite" ollama-claude
./skills/tmux-agents/scripts/spawn.sh big-refactor "Refactor all services" ollama-codexList running sessions
tmux list-sessions
# or
./skills/tmux-agents/scripts/status.shCheck on a session
./skills/tmux-agents/scripts/check.sh session-nameAttach to watch live
tmux attach -t session-name
# Detach with: Ctrl+B, then DSend additional instructions
tmux send-keys -t session-name "additional instruction here" EnterKill a session when done
tmux kill-session -t session-nameWhen to Use Local vs Cloud
| Scenario | Recommendation |
|---|---|
| Quick fix, time-sensitive | ☁️ Cloud (faster) |
| Expensive task, budget matters | 🦙 Local |
| Long experiment, might fail | 🦙 Local |
| Production code review | ☁️ Cloud (smarter) |
| Learning/exploring | 🦙 Local |
| Heavy refactoring | 🦙 Local |
Parallel Agents
Run multiple agents simultaneously:
# Mix and match cloud + local
./scripts/spawn.sh backend "Implement user API" claude # Cloud
./scripts/spawn.sh frontend "Build login form" ollama-codex # Local
./scripts/spawn.sh docs "Write API documentation" gemini # Cloud
./scripts/spawn.sh tests "Write all unit tests" ollama-claude # LocalCheck all at once:
./skills/tmux-agents/scripts/status.shOllama Setup
Local agents require Ollama with a coding model:
# Pull recommended model
ollama pull glm-4.7-flash
# Configure tools (one-time)
ollama launch claude --model glm-4.7-flash --config
ollama launch codex --model glm-4.7-flash --configTips
- Sessions persist even if Clawdbot restarts
- Use local agents for risky/experimental work
- Use cloud for production-critical tasks
- Check
tmux lsto see all active work - Kill sessions when done to free resources
tmux-agents 🖥️
Run coding agents in persistent tmux sessions. They work in the background while you do other things.
Features
- 5 agents: Claude Code, Codex, Gemini + local Ollama variants
- Cloud or Local: Use API credits for speed, or run free on local Ollama
- Parallel sessions: Run multiple agents on different tasks
- Persistent: Sessions survive restarts
- Simple workflow: spawn → check → collect
Installation
clawdhub install tmux-agentsRequires: tmux (auto-installs via brew if missing)
Quick Start
# Spawn an agent with a task
./skills/tmux-agents/scripts/spawn.sh fix-bug "Fix the login validation" claude
# Check progress
./skills/tmux-agents/scripts/check.sh fix-bug
# Watch live
tmux attach -t fix-bug
# Kill when done
tmux kill-session -t fix-bugAvailable Agents
☁️ Cloud (API credits)
| Agent | Description |
|---|---|
claude | Claude Code (default) |
codex | OpenAI Codex CLI |
gemini | Google Gemini CLI |
🦙 Local (FREE via Ollama)
| Agent | Description |
|---|---|
ollama-claude | Claude Code + local model |
ollama-codex | Codex + local model |
Examples
# Quick cloud task
spawn.sh api-fix "Fix REST endpoint" claude
# Long experiment (free)
spawn.sh big-refactor "Refactor all services" ollama-claude
# Parallel agents
spawn.sh backend "Build user API" claude
spawn.sh frontend "Create dashboard" codex
spawn.sh tests "Write unit tests" ollama-claudeCommands
| Script | Purpose |
|---|---|
spawn.sh <name> <task> [agent] | Start a new agent session |
check.sh [name] | Check session output |
status.sh | Overview of all sessions |
Local Setup (Optional)
For free local agents:
ollama pull glm-4.7-flash
ollama launch claude --model glm-4.7-flash --config
ollama launch codex --model glm-4.7-flash --configLicense
MIT
#!/bin/bash
# Check on a tmux agent session
SESSION_NAME="$1"
LINES="${2:-50}"
if [ -z "$SESSION_NAME" ]; then
echo "Active sessions:"
tmux list-sessions 2>/dev/null || echo "No sessions running"
exit 0
fi
if ! tmux has-session -t "$SESSION_NAME" 2>/dev/null; then
echo "Session '$SESSION_NAME' not found"
echo ""
echo "Active sessions:"
tmux list-sessions 2>/dev/null || echo "No sessions running"
exit 1
fi
echo "=== Session: $SESSION_NAME (last $LINES lines) ==="
echo ""
tmux capture-pane -t "$SESSION_NAME" -p -S -$LINES
#!/bin/bash
# Spawn a coding agent in a tmux session
SESSION_NAME="${1:-agent-$(date +%s)}"
TASK="$2"
AGENT="${3:-claude}"
if [ -z "$TASK" ]; then
echo "Usage: spawn.sh <session-name> <task> [agent]"
echo ""
echo "Cloud Agents (uses API credits):"
echo " claude - Claude Code (default)"
echo " codex - OpenAI Codex CLI"
echo " gemini - Google Gemini CLI"
echo ""
echo "Local Agents (free, uses Ollama):"
echo " ollama-claude - Claude Code + local model"
echo " ollama-codex - Codex + local model"
echo ""
echo "Examples:"
echo " spawn.sh fix-bug 'Fix login validation' claude"
echo " spawn.sh experiment 'Refactor entire codebase' ollama-claude"
exit 1
fi
# Check if session already exists
if tmux has-session -t "$SESSION_NAME" 2>/dev/null; then
echo "⚠️ Session '$SESSION_NAME' already exists"
echo "Use: tmux attach -t $SESSION_NAME"
exit 1
fi
# Determine if using local or cloud
LOCAL_MODE=false
case "$AGENT" in
ollama-*) LOCAL_MODE=true ;;
esac
# Create new detached session
tmux new-session -d -s "$SESSION_NAME" -x 200 -y 50
# Set up the environment
tmux send-keys -t "$SESSION_NAME" "cd ~/clawd" Enter
tmux send-keys -t "$SESSION_NAME" "clear" Enter
tmux send-keys -t "$SESSION_NAME" "echo '🚀 Agent Session: $SESSION_NAME'" Enter
tmux send-keys -t "$SESSION_NAME" "echo '🤖 Agent: $AGENT'" Enter
if [ "$LOCAL_MODE" = true ]; then
tmux send-keys -t "$SESSION_NAME" "echo '🦙 Mode: LOCAL (Ollama - free!)'" Enter
else
tmux send-keys -t "$SESSION_NAME" "echo '☁️ Mode: CLOUD (API credits)'" Enter
fi
tmux send-keys -t "$SESSION_NAME" "echo '📋 Task: $TASK'" Enter
tmux send-keys -t "$SESSION_NAME" "echo '⏰ Started: $(date)'" Enter
tmux send-keys -t "$SESSION_NAME" "echo '-------------------------------------------'" Enter
tmux send-keys -t "$SESSION_NAME" "echo ''" Enter
# Launch the appropriate agent
case "$AGENT" in
claude)
# Claude Code with auto-accept permissions (cloud)
tmux send-keys -t "$SESSION_NAME" "claude --dangerously-skip-permissions \"$TASK\"" Enter
;;
codex)
# OpenAI Codex CLI with auto-approve (cloud)
tmux send-keys -t "$SESSION_NAME" "codex --auto-edit --full-auto \"$TASK\"" Enter
;;
gemini)
# Google Gemini CLI (cloud)
tmux send-keys -t "$SESSION_NAME" "gemini \"$TASK\"" Enter
;;
ollama-claude)
# Claude Code with local Ollama model (free!)
tmux send-keys -t "$SESSION_NAME" "echo 'Launching Claude Code with local Ollama model...'" Enter
tmux send-keys -t "$SESSION_NAME" "ollama launch claude" Enter
sleep 2
tmux send-keys -t "$SESSION_NAME" "\"$TASK\"" Enter
;;
ollama-codex)
# Codex with local Ollama model (free!)
tmux send-keys -t "$SESSION_NAME" "echo 'Launching Codex with local Ollama model...'" Enter
tmux send-keys -t "$SESSION_NAME" "ollama launch codex" Enter
sleep 2
tmux send-keys -t "$SESSION_NAME" "\"$TASK\"" Enter
;;
*)
# Custom command - pass task as argument
tmux send-keys -t "$SESSION_NAME" "$AGENT \"$TASK\"" Enter
;;
esac
echo "✅ Session '$SESSION_NAME' spawned with $AGENT"
if [ "$LOCAL_MODE" = true ]; then
echo "🦙 Running locally — no API costs!"
else
echo "☁️ Using cloud API"
fi
echo ""
echo "📋 Task: $TASK"
echo ""
echo "Commands:"
echo " 👀 Watch: tmux attach -t $SESSION_NAME"
echo " 📊 Check: ./skills/tmux-agents/scripts/check.sh $SESSION_NAME"
echo " 💬 Send: tmux send-keys -t $SESSION_NAME 'message' Enter"
echo " 🛑 Kill: tmux kill-session -t $SESSION_NAME"
#!/bin/bash
# Show status of all tmux agent sessions
echo "🖥️ Tmux Agent Sessions"
echo "========================"
echo ""
SESSIONS=$(tmux list-sessions -F "#{session_name}" 2>/dev/null)
if [ -z "$SESSIONS" ]; then
echo "No active sessions"
exit 0
fi
for session in $SESSIONS; do
echo "📍 Session: $session"
echo " Created: $(tmux display-message -t "$session" -p '#{session_created}' | xargs -I{} date -r {} '+%Y-%m-%d %H:%M')"
# Get last few lines to show current state
LAST_LINE=$(tmux capture-pane -t "$session" -p | grep -v '^$' | tail -1)
if [ -n "$LAST_LINE" ]; then
echo " Status: ${LAST_LINE:0:60}..."
fi
echo ""
done
echo "Commands:"
echo " Check: ./skills/tmux-agents/scripts/check.sh <name>"
echo " Attach: tmux attach -t <name>"
echo " Kill: tmux kill-session -t <name>"