Name the xcodebuild failure before you scroll the log.

xctriage reads a failed Xcode build log and tells you the likely cause and a fix to try.

Paste a failed build log

A sample is loaded. Edit it or pick another. It runs in your browser and nothing is uploaded.

build.log

Triage RULES + LINE FILTER PORTED TO JS

Loading the rules. If this does not finish, run the command-line tool.
Rules

Each rule is a pattern for one kind of failure, and the strongest match names the cause.

CategoryWeightPatternSummary

Run the real tool

Needs macOS 14 or later with Swift 6. The first block runs it on a sample log from the repo.

Build from source and triage the sample compile failure

git clone https://github.com/gerardrecinto/xctriage.git
cd xctriage
swift build -c release
.build/release/xctriage analyze \
  Tests/XCTriageKitTests/Fixtures/xcodebuild_compile_failure.log \
  --source xcodebuild

Or use the release binary (arm64 macOS) on your own log

curl -L https://github.com/gerardrecinto/xctriage/releases/latest/download/xctriage-macos.zip -o xctriage.zip
unzip xctriage.zip
./xctriage analyze xcbuild.log --source xcodebuild

Add --llm for the Claude fallback. It needs your own XCTRIAGE_ANTHROPIC_API_KEY; this page never calls it. swift test runs the suite.

What this page is not

Rules and confidence. The score is how strong the best matching rule is, not a chance of being right.

  • The demo applies the tool's rule table and a port of its line filter in JavaScript. The Swift tool itself does not run here.
  • Confidence is the winning rule's weight, not a probability. A log no rule matches comes back as unknown at 0%, which is when the optional --llm fallback applies.

Flaky tracking. The tool remembers which tests fail on and off, so you can spot the unreliable ones.

Xcode result files (xcresult). Xcode can save a test run as one bundle, and the tool can read it. Both need the real tool on a Mac, so neither runs on this page.