tmux-test
Test klaude-code interactively using tmux with synchronous task completion. Use when testing UI features, verifying changes, or debugging interactive behavior. Eliminates polling/sleep by using KLAUDE_TEST_SIGNAL for precise synchronization.
$ Installer
git clone https://github.com/inspirepan/klaude-code /tmp/klaude-code && cp -r /tmp/klaude-code/.claude/skills/tmux-test ~/.claude/skills/klaude-code// tip: Run this command in your terminal to install the skill
SKILL.md
name: tmux-test description: Test klaude-code interactively using tmux with synchronous task completion. Use when testing UI features, verifying changes, or debugging interactive behavior. Eliminates polling/sleep by using KLAUDE_TEST_SIGNAL for precise synchronization.
tmux-test
Test klaude-code in an interactive tmux session with synchronous task completion.
Quick Start
# Create session and start klaude with signal
tmux new-session -d -s test -x 120 -y 30
tmux send-keys -t test 'KLAUDE_TEST_SIGNAL=done uv run klaude' Enter
sleep 3 # Wait for startup only
# Send request and wait for completion (no polling needed)
tmux send-keys -t test 'your prompt here' Enter
tmux wait-for done # Blocks until task completes
# Capture output
tmux capture-pane -t test -p -S -50
# Cleanup
tmux kill-session -t test
Key Points
KLAUDE_TEST_SIGNAL=<channel>: Environment variable that enables task completion signalingtmux wait-for <channel>: Blocks until the signal is sent (task completes)- Signal is only sent when main agent task finishes (not sub-agents)
- Use
-S -Nwith capture-pane to get N lines of scrollback history
Common Patterns
Multiple Sequential Requests
for prompt in "request 1" "request 2"; do
tmux send-keys -t test "$prompt" Enter
tmux wait-for done
tmux capture-pane -t test -p -S -30
done
Capture Full Output
tmux capture-pane -t test -p -S - # Entire scrollback
Repository

inspirepan
Author
inspirepan/klaude-code/.claude/skills/tmux-test
13
Stars
2
Forks
Updated6d ago
Added1w ago