Will It Vibe logoWill It Vibe?
SHELL-001Low severity-4 points

Script never enables 'set -e' / errexit

Part of Code Quality & Syntax, which counts for 20% of the overall score. When this check fires it deducts 4 points from that category, once per scan, no matter how many places it turns up.

What it detects

Without 'set -e' (or 'set -o errexit'), a failing command in the middle of the script is silently ignored and execution continues with whatever state that left behind, instead of stopping at the first real error.

Why it matters

A script with no 'set -e' keeps running after a command fails, so a broken step (a missing file, a failed download, a bad exit code) is silently swallowed and everything after it executes against whatever half-finished state that left behind. In a deploy or cleanup script that usually means finishing 'successfully' while having done the wrong thing. This is a very common gap in scripts an AI assistant writes on the fly, since a happy-path script runs fine without it in a quick test.

How to fix it

Add 'set -euo pipefail' near the top of the script, after the shebang: -e stops on the first failing command, -u treats an unset variable as an error instead of silently expanding to empty, and pipefail makes a pipeline fail if any stage of it fails, not just the last one. For a step that is allowed to fail, handle it explicitly with '|| true' or an if/then rather than leaving the whole script unprotected.

The paid report includes a ready-to-paste prompt for your AI coding agent for every check it finds, pointed at the exact findings from your scan. See pricing

Does your repo trip this check?

Paste a GitHub URL or drop a project folder. Scans run in your browser and take seconds.

Scan your repo

Related Code Quality & Syntax checks