Agent skill · AI & Agents

hive.terminal-tools-troubleshooting

Read when a terminal-tools call returned something surprising — empty stdout despite no error, exit_code is null, output_handle came back expired, "too many jobs" / "session busy" / "too many PTYs", warning was set unexpectedly, semantic_status disagrees with exit_code. Diagnostic recipes only — load on demand. Don't preload; the foundational skill covers the happy path.

aden-hivegithub.com/aden-hiveGitHub ↗
claude-codeApache-2.0
Install
npx skills add aden-hive/hive --skill terminal-tools-troubleshooting --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 5 KB
Bundled scripts: none
Version: 1.0
Declared author: hive
Path: core/framework/skills/_preset_skills/terminal-tools-troubleshooting/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 10,850
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Troubleshooting terminal-tools Recipes for surprising results. Match the symptom to the section. ## Empty `stdout` despite the command "should have" produced output Possible causes: 1. Output went to **stderr** instead. Check `stderr` in the envelope (or use `merge_stderr=True` for jobs). 2. Output was **fully truncated** because `max_output_kb` is too small. Check `stdout_truncated_bytes > 0`. Bump `max_output_kb` or paginate via `output_handle`. 3. Command produced no output (correct, just unexpected — `silent` flags, no matches). 4. Pipeline issue: the last stage of a pipe ran but stdout went elsewhere (`> /dev/null`, redirected via `2>&1`). 5. Process is buffering its output and didn't flush before exit. Add `stdbuf -oL` (line-buffered) or `unbuffer` to the command. ## `exit_code: null` | Cause | Other field | |---|---| | Auto-backgrounded | `auto_backgrounded: true, job_id: <X>` | | Hard timeout, process killed | `timed_out: true` | | Pre-spawn failure (command not found) | `error: ...` set, `pid: null` | | Still running (in `terminal_job_logs`) | `status: "running"` | ## `output_handle` returned `expired: true` 5-minute TTL. Either (a) you waited too long, or (b) the store

What's inside
Steps it walks through
  1. Empty stdout despite the command "should have" produced output
  2. exitcode: null
  3. outputhandle returned expired: true
  4. "too many jobs" / JobLimitExceeded
  5. "session busy"
  6. "PTY cap reached"
  7. warning is set, the command worked
  8. semanticstatus: "ok" but exitcode: 1
  9. semanticstatus: "error" but exitcode: 0
  10. truncatedbytesdropped > 0 in terminaljoblogs
  11. terminalptyopen succeeds but the first run times out
  12. shell="/bin/zsh" returned an error
  13. A command in shell=True is interpreted differently than expected
More from hive
All skills →
About this skill
What does the hive.terminal-tools-troubleshooting skill do?

Read when a terminal-tools call returned something surprising — empty stdout despite no error, exit_code is null, output_handle came back expired, "too many jobs" / "session busy" / "too many PTYs", warning was set unexpectedly, semantic_status disagrees with exit_code. Diagnostic recipes only — load on demand. Don't preload; the foundational skill covers the happy path.

How do I install it?

Run `npx skills add aden-hive/hive --skill terminal-tools-troubleshooting --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From aden-hive/hive, a repository with 10,850 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going