hypabolic/hypa/hypa-runtime
Claude Code and agent skill by hypabolic/hypa
- community
Checking that the SKILL.md file is still in the repository.
Control Hypa, a terminal mux for coding agents. Use only when the user explicitly mentions Hypa or asks to use Hypa to inspect or control panes, tabs, workspaces, commands, or another agent. Do not use merely because a task could benefit from a background terminal, delegation, or parallel work. Requires HYPA_ENV=1.
Install
npx vskill@latest install hypabolic/hypa/hypa-runtimeSKILL.md
Hypa runtime
Hypa organizes terminals into workspaces, tabs, and panes. It detects coding agents in panes and gives you the hypa CLI to control the current session.
Before you send any control command, make sure this agent runs in a Hypa pane:
If the check fails, say that you are not in Hypa and stop. Do not inspect or control a Hypa session from outside Hypa.
When the check passes, the hypa in PATH talks to the current session.
Learn the current CLI
The installed binary is the authority for command syntax. Start with:
Then print each command group. Run the group with no subcommand:
Do not run bare hypa for discovery. Bare hypa starts an attach. Do not probe a command that changes state by leaving out its arguments.
Most commands print JSON. Read IDs and state from that JSON. Do not guess them. Use jq -r to read one field. Do not eval JSON.
Layout, panes, and agents
Choose the primitive that fits the job:
- Workspace, tab, and pane commands set where terminals live.
- Pane commands control raw terminals: shells, tests, servers, input, and output.
- Agent commands control the coding agent that occupies a pane.
A pane exists with or without an agent. agent start needs an existing pane. It does not create or move layout. Use pane commands for plain processes. Use agent commands when Hypa must check the agent and read its state.
| State | Meaning | |
|---|---|---|
working | The agent is producing output or running tools. | |
blocked | The agent needs a person or a peer to answer. | |
done | The agent finished. Nobody looked at it yet. | |
idle | The agent waits at a prompt. | |
unknown | Hypa cannot classify the agent yet. This is not idle. |
idle and done both mean that the agent can take input.
IDs and caller context
An ID is an opaque 12-character token. Do not build or predict one. Hypa sets these variables in each pane:
HYPA_PANE_ID is your own pane. Pass --current to target that pane. hypa pane current prints that pane when the variable is set. --current fails when HYPA_PANE_ID is absent. Each create command prints JSON. Read the new IDs here:
| Command | New IDs | |
|---|---|---|
workspace create | .workspace_id, and .pane.pane_id for the first pane | |
tab create | .tab_id, and .pane.pane_id for the first pane | |
pane split | .pane_id |
Find live state with:
Start and coordinate an agent
Split your own pane. Use the same working directory unless the user asks for another one.
--no-focus keeps the user's focus in your pane. Read the new pane ID from .pane_id. Use right for a wide pane and down for a narrow one. Do not stack many splits in one direction. The panes become too small to read.
Start an agent in the new pane:
Run hypa agent to see the kinds and options. agent start waits until the pane holds the agent.
Send work and wait for the result:
agent prompt needs an input lease. The CLI claims it for you. --wait waits for the state in --until. The default is blocked. To wait for idle or done, pass --until idle, or use agent wait:
Send keys for an agent screen that needs them:
Read the result:
Blocked agents and errors
When an agent is blocked, read agent status and agent read first. Then decide what to send. If the agent asks for an approval, ask the user. Do not answer an approval for the user.
A timeout does not prove that the prompt was not delivered. Read the pane before you send the same prompt again.
The CLI exit codes are:
| Exit | Meaning | |
|---|---|---|
| 0 | The call worked. | |
| 1 | The runtime returned an error. stderr has error <code>: <message>. | |
| 2 | The socket path is wrong, or the connect failed. | |
| 3 | The connect or the call timed out. | |
| 4 | The command line is wrong. |
The runtime error codes you can meet are:
| Code | Meaning | |
|---|---|---|
| -32602 | A parameter is wrong. Example: pane.create on a tab that already has a pane. | |
| -32004 | The pane, tab, or workspace does not exist. | |
| -32005 | The state does not allow this call. Examples: closing the last workspace, or a different source holds the agent. | |
| -32006 | The call needs a lease. | |
| -32007 | The lease expired. Claim it again. | |
| -32008 | A different agent now occupies the pane. | |
| -32009 | The placement credential is not valid. pane create, pane show, and pane hide return it. | |
| -32010 | The pane process did not start. |
Read sources
pane read takes --source:
visible: the viewport that is on screen now.recent: recent output, with soft wraps kept.recent-unwrapped: recent output, with soft wraps joined. Use it for logs and transcripts.detection: the plain-text snapshot that agent detection uses.
agent read returns a compressed view. Prefer it over pane read for an agent. Use pane read when you need exact raw text.
Run a command in another pane
Split your pane. Keep the user's focus in your pane.
Read the new pane ID from .pane_id. Run the command and wait for the result:
pane run writes the text and Enter as one submission. Words after the pane target are the command. A word that starts with - stays in the command. pane wait-output matches output that already exists. Use --match for a literal substring. Use --regex for a regular expression. Hypa checks the regex on each output line. Omit --timeout to wait until the output matches. The client sets no request deadline. For a process that may need the user, use a hidden pane. See the next section.
Background panes
A hidden pane keeps its PTY and VT but takes no space in the mux. Create one with hypa pane create --placement hidden.
When to use one:
- Use a hidden pane for a terminal process or a helper agent that the user does not need to watch. Prefer it over
pane split. - Use a visible pane only when the user asked to watch the work.
- Show a hidden pane when it needs the user. Use
pane show --mode tiledfor a tab. Use--mode overlaywith oneterminalattach client for a modal. blockedis attention. It does not give permission to show or hide.- Hide keeps the PTY. Close ends it. Close only a pane that you created.
How to observe and act:
- Wait with one blocking command, and branch on its exit status. Do not poll in a loop. Do not use
sleep. - Read JSON with
jq -r. Do not runevalon JSON. - Keep
parent_capabilityin a shell variable. Do not print it orHYPA_PANE_TOKEN. - Keep one
seqper actor and credential. Increase it only after a call exits0.
Recipe A runs a command in a hidden pane. It shows the pane only when the wait fails:
Recipe B runs a helper agent in a hidden pane. A wait that times out exits 0 with timed_out true, so the recipe reads the state. It shows the pane only when the agent is blocked, and it never closes a helper that still works:
After the user answers a shown pane, hide it with pane hide --seq 2, or close it. The steps, the seq rules, and the overlay mode are in `docs/guides/background-panes.md`.
Safety rules
- Use a pane ID from JSON, or your own
HYPA_PANE_ID. Do not use a pane ID from sidebar order. - Do not close a workspace, tab, or pane that you did not create, unless the user asks.
- Do not print
HYPA_PANE_TOKENor a parent capability. - Do not run
hypa session stoporhypa mux stopfrom a live session, unless the user wants the server and all pane processes to stop. - Do not kill the Hypa process. Use a named test session for experiments:
hypa --session NAME. - Server errors exit
1. Usage errors exit4.
More detail
- Wire protocol and method tables: `docs/reference/agent-runtime-protocol.md`
- Background panes: `docs/guides/background-panes.md`
- Pane environment: `docs/guides/pane-environment.md`
- Custom agent integration: `docs/guides/custom-agent-integration.md`
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/hypa-runtime/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/hypabolic/hypa/hypa-runtime)