🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Cursor Tui

by @waldyrious

Spawn and relay Cursor Agent's CLI (`agent` binary) as an interactive passthrough. Use when the user wants to run Cursor Agent in a directory, ask it questio...

Versionv1.0.1
Downloads1,258
Stars⭐ 1
TERMINAL
clawhub install cursor-tui

πŸ“– About This Skill


name: cursor-tui description: Spawn and relay Cursor Agent's CLI (agent binary) as an interactive passthrough. Use when the user wants to run Cursor Agent in a directory, ask it questions, or send follow-up prompts β€” acting as a transparent bridge between the user and the agent session. metadata: {"openclaw":{"requires":{"bins":["cursor","cursor-agent"]}}}

Cursor CLI Passthrough

Spawn Cursor's agent in a PTY background session and relay its output and the user's inputs as a silent passthrough.

Spawning

{ "tool": "exec", "command": "agent", "pty": true, "background": true, "workdir": "", "yieldMs": 3000 }

  • Always set workdir to the project directory the user wants to work in (not the OpenClaw workspace).
  • If the user doesn't specify a directory, ask before spawning.
  • Note: agent requires workspace trust on first run in a directory β€” relay the trust prompt and send the user's choice (e.g. a, w, or q) via process send-keys.
  • Relaying output

    After spawning or sending input, poll for output:

    { "tool": "process", "action": "poll", "sessionId": "", "timeout": 15000 }
    

  • Strip ANSI escape codes mentally, but relay the content faithfully and verbatim.
  • Do not wrap output in code blocks or quote formatting.
  • Do not add preamble, postamble, interpretation, or commentary β€” relay exactly what Cursor outputs.
  • If you need to add context or a note, prefix that line with your name in brackets (e.g. [YourName]) so it's clearly distinguished from Cursor's output.
  • Permission prompts: When Cursor shows a "Run this command?" or any approval dialog, relay it verbatim to the user and wait for their response. Never approve or deny on the user's behalf.
  • After relaying the agent's response, append a single prompt line: cursor @ β€” use ~ in place of the user's home directory (e.g. ~/repos/myproject not /home/username/repos/myproject).
  • Sending user input

    For single-line prompts:

    { "tool": "process", "action": "submit", "sessionId": "", "data": "" }
    

    For multi-line prompts:

    { "tool": "process", "action": "paste", "sessionId": "", "text": "" }
    

    Then submit with Enter:

    { "tool": "process", "action": "send-keys", "sessionId": "", "keys": ["Enter"] }
    

    For other special keys (arrow keys, Escape, etc.):

    { "tool": "process", "action": "send-keys", "sessionId": "", "keys": ["ArrowUp"] }
    

    Use @filename or @directory/ in interactive prompts to add more context.

    Ending the session

    Send /quit or Ctrl+D (double-press):

    { "tool": "process", "action": "submit", "sessionId": "", "data": "/quit" }
    

    Notes

  • agent is Cursor's CLI binary. cursor-agent is a backward-compatible alias.
  • The binary must be on PATH. If not found, check TOOLS.md for custom binary paths.
  • One session at a time is typical; use process list to check for orphaned sessions.
  • πŸ“‹ Tips & Best Practices

  • agent is Cursor's CLI binary. cursor-agent is a backward-compatible alias.
  • The binary must be on PATH. If not found, check TOOLS.md for custom binary paths.
  • One session at a time is typical; use process list to check for orphaned sessions.