Skip to content

Guide · Agent skill

How to use the Terminal Tools Troubleshooting agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

This is an agent skill: a folder with a SKILL.md file that an AI agent such as Claude can load when a task calls for it. The Terminal Tools Troubleshooting skill (hive.terminal-tools-troubleshooting) is a reference guide for the moments when a terminal command tool returns something unexpected. After reading this guide you will know how to add the skill, how to ask for it in plain language, and what the skill tells the agent to check for each common symptom.

Terminal Tools Troubleshootingaden-hive/hive · Apache-2.0

Quick start

  1. 1Get the skill ZIP. Download the ZIP file for hive.terminal-tools-troubleshooting from our page.
  2. 2Unzip into a skills folder. Unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder.
  3. 3Or upload in the Claude apps. In the Claude apps, go to Settings → Capabilities → Skills and upload the skill.
  4. 4Confirm the foundational skill is present. Make sure the terminal-tools foundational skill and its tools are available, since this skill refers to them.
  5. 5Describe the surprising result. Ask about the specific symptom, such as exit_code null or an expired output_handle, and include the full result.
  6. 6Verify side effects. When a warning appears, check that the command's side effect was intended before continuing.

What the skill makes the agent do

The skill is a set of diagnostic recipes. It is meant to be loaded on demand, not preloaded, because the foundational terminal-tools skill already covers normal behaviour. When a result looks wrong, the agent matches the symptom to a section and works through the likely causes and fixes listed there.

The symptoms it covers include empty stdout with no error, exit_code set to null, an output_handle that came back expired, errors such as "too many jobs", "session busy" and "PTY cap reached", a warning that was set unexpectedly, and a semantic_status that disagrees with exit_code.

  • Empty stdout: checks stderr, output truncation via stdout_truncated_bytes, silent commands, pipe redirection and output buffering.
  • exit_code null: distinguishes auto-backgrounded jobs, hard timeouts, pre-spawn failures and still-running jobs.
  • Expired output_handle: explains the 5-minute TTL and the 64 MB store cap, and suggests re-running the command.
  • Job and session limits: explains TERMINAL_TOOLS_MAX_JOBS (default 32) and TERMINAL_TOOLS_MAX_PTY (default 8) and how to free capacity.
  • Warnings and semantic status: explains that a warning is informational and that semantic_status is more reliable than raw exit_code.

How to install the skill

Download the ZIP file for this skill from our page. Unzip it into your personal skills folder at ~/.claude/skills/, or into a project's .claude/skills/ folder if you want the skill available only to that project.

If you use the Claude apps instead, upload the skill under Settings → Capabilities → Skills.

  • Personal install: unzip into ~/.claude/skills/
  • Project install: unzip into the project's .claude/skills/ folder
  • Claude apps: Settings → Capabilities → Skills, then upload the skill

How to trigger the skill with natural requests

You do not need a special command. The skill's description tells the agent when to read it, so describe the surprising result in your own words. Mention the symptom, the tool, or the error text you saw.

The skill is meant to load only when something unexpected happens, so ask about the specific symptom rather than asking for general terminal help.

  • "The terminal_pty_run call came back with exit_code null. What should I check?"
  • "My output_handle says expired. Why, and how do I avoid it next time?"
  • "I got a 'too many jobs' error from terminal_job_manage. How do I free up slots?"
  • "stdout is empty but there was no error. Walk me through the troubleshooting steps."
  • "The warning was set on my command even though it worked. Is that a problem?"

Examples of symptoms and what the agent does

Suppose a background command returns exit_code null with auto_backgrounded set to true and a job_id. The skill's table says this means the command was moved to the background, so the agent should follow the job with terminal_job_logs rather than treat it as a failure.

Suppose a grep returns semantic_status "ok" but exit_code 1. The skill explains that grep exits 1 when it finds no matches, so the agent should trust semantic_status and read semantic_message for the explanation.

What you need before using it

This skill does not work on its own. It refers to the terminal-tools foundational skill and its tool set, including terminal_pty_run, terminal_job_logs and terminal_job_manage, but it does not include those. Make sure the foundational skill and tools are available to the agent first.

The skill runs no scripts and uses no network access, according to its listing. It is a Markdown reference file (SKILL.md).

  • The terminal-tools foundational skill and its tools
  • A Claude app or Claude Code setup that loads skills from the folders above

Safety notes on scripts, network and review

The skill itself runs no scripts and makes no network calls. The commands it discusses are run by the terminal-tools interface, so the usual care applies to any command the agent runs.

The skill tells the agent that a warning means verify the side effect was intended before continuing. It is not suitable for setups where the agent runs commands unattended without review.

  • Treat warnings such as those for rm -rf or git push --force as prompts to check intent.
  • Keep a human in the loop when commands can change files or remote repositories.
  • The skill notes that the shell is bash, so do not expect zsh behaviour in shell=True commands.

Tips for getting the most from it

Give the agent the exact error text and the full result envelope. The skill's recipes depend on fields such as stderr, stdout_truncated_bytes, timed_out and semantic_message.

Paginate large outputs early, since output handles expire after 5 minutes. For very large output, the skill points to terminal_job_* functions, which use a 4 MB ring buffer with offsets and no expiry.

Close idle PTY sessions with terminal_pty_close when you hit the PTY cap, because opening a new session fails once the cap is reached.

What people use it for

  • Debugging a background job that returned exit_code null with auto_backgrounded set.
  • Recovering from an output_handle that expired before it was paginated.
  • Freeing job or PTY slots after a 'too many jobs' or 'PTY cap reached' error.
  • Explaining why grep or diff reported exit 1 while semantic_status showed ok.
  • Working out why a command's output came back empty even though no error was reported.

Frequently asked questions

What is the hive.terminal-tools-troubleshooting skill?

It is an agent skill from the aden-hive/hive project, stored as a SKILL.md file. It gives an AI agent diagnostic recipes for terminal-tools results that look wrong, and it is meant to load only when such a result occurs.

How do I install this agent skill?

Download the ZIP from our page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder. In the Claude apps, you can instead upload it under Settings → Capabilities → Skills.

What are the requirements?

You need the terminal-tools foundational skill and its tool set, including terminal_pty_run, terminal_job_logs and terminal_job_manage. The skill references these but does not include them. It runs no scripts and uses no network.

Is this skill free and what is its licence?

The aden-hive/hive project is licensed under Apache-2.0, and this skill is listed as part of that project. Check the repository's licence file for the terms that apply to your use.

What should I do when a terminal command returns exit_code null?

The skill lists likely causes: auto-backgrounding (auto_backgrounded true with a job_id), a hard timeout (timed_out true), a pre-spawn failure such as command not found (error set and pid null), or a job still running. Check the matching field to identify which one applies.

Is this skill safe to use with an agent that runs commands unattended?

The skill itself is not recommended for that setup. It tells the agent to verify side effects whenever a warning is set, so it expects a person to review commands.

How does this compare with general shell troubleshooting help?

This skill covers only the behaviour of the terminal-tools interface. It is not a general guide to coding or shell problems outside that tool.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits developers building or debugging agents that run shell commands through the terminal-tools interface, and anyone trying to understand an unexpected background job, PTY session or output capture. It is not useful for general shell help outside that tool, and it is a poor fit for fully unattended agents, because the file itself asks for warnings to be checked against intended side effects.

Download the skill