Coding Sessions
/install coding-sessions
Coding Sessions
Orchestrate long-running AI coding agents in persistent tmux sessions with completion notifications and health monitoring.
Why tmux?
Background exec processes die on gateway restart. Any coding agent expected to run >5 minutes MUST run inside tmux. This is non-negotiable.
Always use the stable socket (~/.tmux/sock) — the default /tmp socket gets reaped by macOS.
Quick Start
Single Codex Task
tmux -S ~/.tmux/sock new -d -s \x3Cname> "cd \x3Cproject-dir> && \
PATH=/opt/homebrew/bin:\$PATH codex exec --full-auto '\x3Ctask description>'; \
EXIT_CODE=\$?; echo 'EXITED:' \$EXIT_CODE; \
openclaw system event --text '\x3Cname> finished (exit \$EXIT_CODE) in \x3Cproject-dir>' --mode now; \
sleep 999999"
Ralph Loop (preferred for multi-step work)
tmux -S ~/.tmux/sock new -d -s \x3Cname> "cd \x3Cproject-dir> && \
PATH=/opt/homebrew/bin:\$PATH ralphy --codex --prd PRD.md; \
EXIT_CODE=\$?; echo 'EXITED:' \$EXIT_CODE; \
openclaw system event --text 'Ralph loop \x3Cname> finished (exit \$EXIT_CODE) in \x3Cproject-dir>' --mode now; \
sleep 999999"
Parallel Ralph Loops
tmux -S ~/.tmux/sock new -d -s \x3Cname> "cd \x3Cproject-dir> && \
PATH=/opt/homebrew/bin:\$PATH ralphy --codex --parallel --prd PRD.md; \
EXIT_CODE=\$?; echo 'EXITED:' \$EXIT_CODE; \
openclaw system event --text 'Ralph parallel \x3Cname> finished (exit \$EXIT_CODE)' --mode now; \
sleep 999999"
Command Anatomy
Every tmux coding session follows this pattern:
- Stable socket:
-S ~/.tmux/sock(survives macOS/tmpcleanup) - Named session:
-s \x3Cname>(human-readable, used for monitoring) - PATH fix:
PATH=/opt/homebrew/bin:$PATH(Ralph/Codex need Homebrew binaries) - The agent command:
codex exec --full-autoorralphy --codex - Completion hook: Captures exit code, fires
openclaw system eventfor instant notification - Sleep tail:
sleep 999999keeps the shell alive so output remains readable
Monitoring
# List all sessions
tmux -S ~/.tmux/sock list-sessions
# Check recent output
tmux -S ~/.tmux/sock capture-pane -t \x3Cname> -p | tail -20
# Check if session exists
tmux -S ~/.tmux/sock has-session -t \x3Cname> 2>/dev/null && echo "alive" || echo "dead"
# Kill a completed session
tmux -S ~/.tmux/sock kill-session -t \x3Cname>
When to Use Ralph vs Raw Codex
| Scenario | Tool |
|---|---|
| Multi-step feature with PRD/checklist | ralphy --codex --prd PRD.md |
| Task that has stalled or failed before | ralphy --codex (auto-retry with fresh context) |
| Parallel independent tasks | ralphy --codex --parallel --prd PRD.md |
| Tiny focused fix, one-file change | codex exec --full-auto |
| Exploratory work, investigation | codex exec --full-auto |
PRD Format
Ralph tracks completion via markdown checklists:
## Tasks
- [ ] Create the API endpoint
- [ ] Add input validation
- [ ] Write tests
- [x] Already done (skipped by Ralph)
Ralph restarts the agent with fresh context each iteration. The agent picks up where it left off via files + git history. Include test-first instructions in task prompts for deterministic validation.
Post-Completion Verification
Before declaring success or failure, always check:
git log --oneline -3— did the agent commit?git diff --stat— uncommitted changes?- Read the tmux pane output — what actually happened?
Ralph can mark PRD tasks as done even when codex fails silently. Verify via git, not PRD checkboxes.
Logging
After starting any long-running session, log it in daily notes (memory/YYYY-MM-DD.md) under "Active Long-Running Processes" with the session name and original command. This ensures context survives compaction and heartbeat monitoring can track/restart sessions.
Troubleshooting
- "Failed to refresh token" in
~/.codex/log/codex-tui.log→ runcodex auth login - Agent reads files and exits → wrap in Ralph loop (auto-retry solves this)
- API rate limits (429s) with parallel agents → reduce parallelism or stagger starts
- Session died → restart with same command from daily notes
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install coding-sessions - After installation, invoke the skill by name or use
/coding-sessions - Provide required inputs per the skill's parameter spec and get structured output
What is Coding Sessions?
Run long-lived AI coding agents (Codex CLI, Claude Code, Ralph loops) in persistent tmux sessions with completion hooks and automatic monitoring. Use when la... It is an AI Agent Skill for Claude Code / OpenClaw, with 317 downloads so far.
How do I install Coding Sessions?
Run "/install coding-sessions" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Coding Sessions free?
Yes, Coding Sessions is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Coding Sessions support?
Coding Sessions is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Coding Sessions?
It is built and maintained by luke-deltadesk (@luke-deltadesk); the current version is v1.0.0.