Skip to content

missing-tool: workflow completes successfully when MCP script tools fail #23258

@look

Description

@look

Summary

When an MCP script tool is unavailable or fails at runtime (e.g., Docker no space left on device), the agent reports output_types: missing_tool but the workflow completes successfully. This makes it impossible to detect when a workflow silently failed to accomplish its task.

Observed Behavior

  1. Agent calls an MCP script tool (cargo) that uses Docker internally
  2. Docker fails with no space left on device (runner disk too small for image)
  3. Agent retries the tool a few times, all fail
  4. Agent reports missing_tool in agent_output.json and exits cleanly
  5. All jobs (activation, agent, safe_outputs, conclusion) pass ✅
  6. Workflow run appears green despite accomplishing nothing

Example run: https://github.com/github/blackbird/actions/runs/23658300309

The agent_output.json shows:

{
    "items": [
        {
            "type": "missing_tool",
            "tool": "mcpscripts-cargo (Docker build container at host.docker.internal:3000)",
            "reason": "The cargo build container service is unreachable — all calls to mcpscripts-cargo time out..."
        }
    ]
}

Yet all 4 jobs passed.

Expected Behavior

The workflow should either:

  • Fail by default when missing_tool is the only output type and no changes were made — the agent could not do its job
  • Provide a frontmatter option (e.g., required-tools: [cargo]) to explicitly fail when specific tools are unavailable
  • At minimum, surface missing_tool as a warning annotation on the workflow run summary so it is visible without downloading artifacts

Context

  • gh-aw version: v0.58.1
  • Tool type: MCP script (run: shell type) that starts a Docker build container
  • Root cause: ubuntu-latest runner had 14GB disk, insufficient for the Docker image
  • The failure was completely invisible in the workflow status — only discoverable by downloading the agent artifact and reading agent_output.json

Related

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions