Skip to content

Process Safe Outputs crashes with ENOENT on workflow_install_note.md, blocking all PR/issue creation #33981

@GandrotulaRajesh

Description

@GandrotulaRajesh

Summary

Every create_pull_request and create_issue safe output fails in the Process Safe Outputs step with:

ENOENT: no such file or directory, open '/home/runner/work/_temp/gh-aw/md/workflow_install_note.md'

Because this is classified as a "code push" failure, all subsequent safe outputs are also cancelled, so the workflow produces nothing despite the agent succeeding.

Environment

  • gh-aw CLI: v0.74.8
  • Engine: claude
  • Workflow: daily-perf-improver (added via gh aw add githubnext/agentics/daily-perf-improver, source pinned to githubnext/agentics/workflows/perf-improver.md@dcdf09723d42ef9b6c75335e4612fd145d4ccdaa)
  • Runner: GitHub-hosted ubuntu-latest

Reproduction

  1. gh aw add githubnext/agentics/daily-perf-improver on a private repo
  2. gh aw run daily-perf-improver
  3. Agent step succeeds and emits 2 safe outputs (1 create_pull_request, 1 create_issue)
  4. safe_outputs job fails on step "Process Safe Outputs"

Observed log excerpt

Agent output content length: 10984
Found 2 message(s) in agent output
...
Processing message 1/2: create_pull_request
Processing create_pull_request: title=Reduce repeated LINQ enumeration in trash MetricService, bodyLength=5983
Patch size: 6 KB (maximum allowed: 1024 KB)
Patch size validation passed
Patch content validation passed
...
[renderMarkdownTemplate] Final output length: 492 characters
##[warning][renderMarkdownTemplate] Fence count mismatch: input had 4 fence marker(s), output has 2
##[error]✗ Message 1 (create_pull_request) failed: ENOENT: no such file or directory, open '/home/runner/work/_temp/gh-aw/md/workflow_install_note.md'
##[warning]⚠️ Code push operation 'create_pull_request' failed — continuing with remaining safe outputs (add_comment messages will include a failure note)
Processing message 2/2: create_issue
...
[renderMarkdownTemplate] Final output length: 492 characters
##[warning][renderMarkdownTemplate] Fence count mismatch: input had 4 fence marker(s), output has 2
##[error]✗ Message 2 (create_issue) failed: ENOENT: no such file or directory, open '/home/runner/work/_temp/gh-aw/md/workflow_install_note.md'

The Fence count mismatch: input had 4 fence marker(s), output has 2 warning immediately preceding both ENOENTs suggests the template renderer's loader expects an install-note fragment at /home/runner/work/_temp/gh-aw/md/workflow_install_note.md that is never staged on the runner.

Impact

  • No PRs and no create_issue outputs are filed.
  • The only thing that lands in the repo is the auto-failure issue ([aw] Perf Improver failed).
  • The agent's PR patch is still uploaded as a workflow artifact (aw-<branch>.patch), so the agent's work can be recovered manually via gh aw logs, but that defeats the purpose of safe outputs.

Workaround

None that restores output processing. safe-outputs.report-failure-as-issue: false only silences the auto-failure issue.

Notes

Did not find an existing issue mentioning workflow_install_note. PR #24862 ("preserve fenced code blocks in template rendering") touches adjacent rendering code; this looks like a separate bug in the install-note template loader.

Metadata

Metadata

Assignees

No one assigned

    Labels

    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