hive.terminal-tools-troubleshooting

Diagnose unexpected terminal-tools results including empty stdout, null exit codes, and expired output handles.

11.0k|5.7k|Updated Jan 12, 2026
One-click install
npx skills add https://github.com/aden-hive/hive --skill hive-terminal-tools-troubleshooting
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: hive.terminal-tools-troubleshooting
Source: https://github.com/aden-hive/hive/tree/main/core/framework/skills/_preset_skills/terminal-tools-troubleshooting
Command: npx skills add https://github.com/aden-hive/hive --skill hive-terminal-tools-troubleshooting

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Terminal-tools calls sometimes return surprising results — empty stdout despite no error, null exit codes, expired output handles, job limits, or semantic_status disagreeing with exit_code. This Skill provides diagnostic recipes that map each symptom to its cause and fix, so you can resolve anomalies quickly instead of guessing.

Core Features & Use Cases

  • Symptom-to-cause mapping: Match issues like empty stdout, exit_code: null, expired: true handles, "too many jobs", "session busy", and PTY caps to their root causes.
  • Concrete fixes: Each recipe includes corrective actions such as raising max_output_kb, paginating output handles promptly, killing abandoned jobs, or closing idle PTY sessions.
  • Semantic status clarification: Explains why semantic_status may disagree with raw exit_code (e.g., grep exit 1 on no matches) and which field to trust.
  • Use Case: A command returns empty stdout with no error. Load this Skill, identify that output went to stderr or was truncated by max_output_kb, then re-run with merge_stderr=True or a larger output cap.

Quick Start

Load the terminal-tools troubleshooting skill and diagnose why my last terminal command returned empty stdout with no error.

Frequently Asked Questions about hive.terminal-tools-troubleshooting

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why is stdout empty when my terminal command should produce output?▼

Empty stdout usually means output went to stderr, was truncated by a small max_output_kb limit, or the process buffered output without flushing. Check the stderr field and stdout_truncated_bytes, or add stdbuf -oL to force line buffering.

What does exit_code null mean in terminal-tools?▼

A null exit_code means the process did not exit normally: it was auto-backgrounded, killed by a hard timeout, failed before spawning, or is still running. Check companion fields like auto_backgrounded, timed_out, error, or status to identify which case applies.

Why does my output handle return expired true?▼

Output handles have a 5-minute TTL and can also be evicted under memory pressure from the 64 MB LRU store. Re-run the command and paginate the handle immediately, or use terminal_job tools whose 4 MB ring buffer has no expiry.

How do I fix too many jobs or session busy errors?▼

The job cap defaults to 32; list running jobs with terminal_job_manage and signal_term abandoned ones, or wait for jobs to exit. Session busy means a PTY session handles one call at a time, so wait for the prior call or open a second session.

Why does semantic_status say ok when exit_code is 1?▼

Many commands use exit 1 for legitimate non-error states: grep finds no matches, diff finds differences, test evaluates false. The semantic_status field accounts for these conventions, so trust it over the raw exit_code.

Does terminal-tools support zsh or other shells?▼

No, terminal-tools is bash-only on POSIX and returns an error for shell="/bin/zsh". Use the default bash shell or omit the shell parameter to exec commands directly, and remember globstar and other zsh-isms do not apply.