using-tmux-for-interactive-commands
Use when you need to run interactive CLI tools (vim, git rebase -i, Python REPL, etc.) that require real-time input/output - provides tmux-based approach for…
Skill by obra
Chalk Labs
Need help deploying using-tmux-for-interactive-commands?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/obra-using-tmux-for-interactive-commands
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/using-tmux-for-interactive-commands
What's inside
- Skill name
using-tmux-for-interactive-commands- Description
- Use when you need to run interactive CLI tools (vim, git rebase -i, Python REPL, etc.) that require real-time input/output - provides tmux-based approach for controlling interactive sessions through detached sessions and send-keys
- License
- MIT
- Instructions
- 175 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- body: contains an absolute path from the author's machine
Files (2)
- SKILL.md
- tmux-wrapper.sh
SKILL.md (first lines)
# Using tmux for Interactive Commands ## Overview Interactive CLI tools (vim, interactive git rebase, REPLs, etc.) cannot be controlled through standard bash because they require a real terminal. tmux provides detached sessions that can be controlled programmatically via `send-keys` and `capture-pane`. ## When to Use **Use tmux when:** - Running vim, nano, or other text editors programmatically - Controlling interactive REPLs (Python, Node, etc.) - Handling interactive git commands (`git rebase -i`, `git add -p`) - Working with full-screen terminal apps (htop, etc.) - Commands that require terminal control codes or readline **Don't use for:** - Simple non-interactive commands (use regular Bash tool) - Commands that accept input via stdin redirection - One-shot commands that don't need interaction ## Quick Reference | Task | Command | |------|---------| | Start session | `tmux new-session -d -s <name> <command>` | | Send input | `tmux send-keys -t <name> 'text' Enter` | | Capture output | `tmux capture-pane -t <name> -p` | | Stop session | `tmux kill-session -t <name>` | | List sessions | `tmux list-sessions` | ## Core Pattern ### Before (Won't Work) ```bash # This hangs because vim expects interactive terminal bash -c "vim file.txt" ``` ### After (Works) ```bash # Create detached tmux session tmux new-session -d -s edit_session vim file.txt # Send commands (Enter, Escape are tmux key names) tmux send-keys -t edit_session 'i' 'Hello World' Escape ':wq' Enter # Capture what's on screen tmux capture-pane -t edit_session -p # Clean up tmux kill-session -t edit_session ``` ## Implementation ### Basic Workflow 1. **Create detached session** with the interactive command 2. **Wait briefly** for initialization (100-500ms depending on command) 3. **Send input** using `send-keys` (can send special keys like Enter, Escape) 4. **Capture output** using `capture-pane -p` to see current screen state 5. **Repeat** steps 3-4 as needed 6. **Terminate** session when done ### Special Keys Common tmux key names: - `Enter` - Return/newline - `Escape` - ESC key - `C-c` - Ctrl+C - `C-x` - Ctrl+X - `Up`, `Down`, `Left`, `Right` - Arrow keys - `Space` - Space bar - `BSpace` - Backspace ### Working Directory Specify working directory when creating session: ```bash tmux new-session -d -s git_session -c /path/to/repo git rebase -i HEAD~3 ``` ### Helper Wrapper For easier use, see `/home/jesse/git/interactive-command/tmux-wrapper.sh`: ```bash # Start session /path/to/tmux-wrapper.sh start <session-name> <command> [args...] # Send input /path/to/tmux-wrapper.sh send <session-name> 'text' Enter # Capture current state /path/to/tmux-wrapper.sh capture <session-name> # Stop /path/to/tmux-wrapper.sh stop <session-name> ``` ## Common Patterns ### Python REPL ```bash tmux new-session -d -s python python3 -i tmux send-keys -t python 'import math' Enter tmux send-keys -t python 'print(math.pi)' Enter tmux capture-pane -t python -p # See output tmux kill-session -t python ``` ### Vim Editing ```bash tmux new-session -d -s vim vim /tmp/file.txt sleep 0.3 # Wait for vim to start tmux send-keys -t vim 'i' 'New content' Escape ':wq' Enter # File is now saved ``` ### Interactive Git Rebase
From obra/superpowers-lab, MIT.
More from obra/superpowers-lab
- 0.632score
finding-duplicate-functions
obra
Use when auditing a codebase for semantic duplication - functions that do the same thing but have different names or implementations.
SkillDFreshness: D★ 433Claude Code +9 - 0.540score
windows-vm
obra
Create, manage, or connect to a headless Windows 11 VM running in Docker with SSH access.
SkillDFreshness: D★ 433Claude Code +9 - 0.537score
mcp-cli
obra
Use MCP servers on-demand via the mcp CLI tool - discover tools, resources, and prompts without polluting context with pre-loaded MCP integrations
SkillDFreshness: D★ 433Claude Code +9
Signals
- Stars
- 433
- Forks
- 37
- Open issues
- 1
- Last commit (this folder)
- Oct 23, 2025 (1 year ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/obra/superpowers-lab
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from obra
- 0.891score
executing-plans
obra
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool…
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.891score
diagnosing-superpowers
obra
Use when a superpowers session went wrong and your human partner wants to know why — repeated work, ignored plans, stumbles, poor results, a skill that didn't…
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.750score
using-superpowers
obra
Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.750score
AGENTS.md · obra/superpowers
obra
AGENTS.md from obra/superpowers: 122 lines covering If You Are an AI Agent, Pull Request Requirements, What We Will Not Accept, New Harness Support and more.
TemplateAFreshness: A★ 304.6KCodex +5 - 0.749score
subagent-driven-development
obra
Use when executing implementation plans with independent tasks in the current session
SkillAFreshness: A★ 304.6KClaude Code +9 - 0.747score
brainstorming
obra
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in…
SkillAFreshness: A★ 304.6KClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get using-tmux-for-interactive-commands running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
using-tmux-for-interactive-commands skill. Agent Mart. https://agentmart.dev/skills/obra-using-tmux-for-interactive-commands (last updated 2026-10-24)