Lesstep
GitHub Actions・GITHUB_OUTPUT・2026年11月3日に確認

GitHub Actions:「Unable to process file command 'output' successfully」

ステップの中身はすべて動きました。終わったところで runner が $GITHUB_OUTPUT(または $GITHUB_ENV)のファイルを読み、解析できない行に当たって、ステップを失敗にしました。2行目のエラーがその行をそのまま見せるので、たいていはそれで何が書いたのかがわかります。

見え方

Error: Unable to process file command 'output' successfully.
Error: Invalid format '  "name": "web",'

runner が受け付ける形

runner の FileCommandManager.cs では、空でない行はどれも次の2つのどちらかでなければなりません:

それ以外の行は「Invalid format」になります。紛れ込んだ行にたまたま = があると失敗はせず、= の前にあったものを名前にした出力を黙って作ります。

1. 複数行の値

値の2行目には = がありません。よくあるのは、jq が整形した JSON(hypershift #9879・dotfiles #32)と、本文つきのコミットメッセージです。nhost-actions/deploy は、本文のあるコミットのときだけ壊れました(#2)。

- id: notes
  env:
    COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
  run: |
    delim="EOF_$(openssl rand -hex 8)"
    {
      echo "message<<$delim"
      printf '%s\n' "$COMMIT_MESSAGE"
      echo "$delim"
    } >> "$GITHUB_OUTPUT"

GitHub のドキュメントは、区切りが値の中で1行だけで出てこないことを確かめるよう書いていて、PowerShell の例では New-Guid で区切りを作っています。決まった EOF は、文章に EOF だけの行が入った日に壊れます。

2. ログの行がファイルに入った

script.sh | tee -a "$GITHUB_OUTPUT" や tool >> "$GITHUB_OUTPUT" は、道具が出すものを全部送ります。graphty-monorepo は、スクリプトの中の依存のインストールが出した「Invalid format 'Installing dependencies...'」で失敗し(#5636)、jmzTab-m-webapp は Maven のラッパーの出力で失敗しました(#76)。途中経過は標準エラー(>&2)に出すか、先に値を取り出してから1行だけ書きます:

version=$(./mvnw -q help:evaluate -Dexpression=project.version -DforceStdout)
echo "version=$version" >> "$GITHUB_OUTPUT"

3. 1つのはずの値が2つ

代わりの値が2行目を足すことがあります。set -o pipefail の下で ... | jq -sc . || printf '[]' は、一覧が空のときに [] を2回出し、2つ目が「Invalid format '[]'」になりました(ai-dev-framework-template #1881)。値を組み立てる処理は、空のときも試します。

4. 「Matching delimiter not found」

Error: Unable to process file command 'output' successfully.
Error: Invalid value. Matching delimiter not found 'EOF'

runner は、区切りだけの行を見ないままファイルの終わりに着きました。たいていは値が改行で終わっておらず、echo EOF が最後の行にくっついたのです。octane-actions は同じコミットで、作られたファイルが改行で終わるかどうかだけで失敗したり通ったりしました(#72)。上の例のように値を printf '%s\n' で書けば防げます。「Invalid value. EOF marker missing new line.」は、同じ問題がファイルのいちばん最後で起きたときの文面です。

見分け方

失敗したジョブを IntelliJ IDEA から見るなら

Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べ、いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。

GitHub と GitHub Actions は GitHub, Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:「Invalid workflow file」 · 「Input required and not supplied」 · 「detected dubious ownership」 · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English