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.