-
Notifications
You must be signed in to change notification settings - Fork 1
FAQ
No. veil is opt-in and complementary. Use sh_run for effect-bearing or verbose
commands; keep raw Bash for trivial read-only or interactive/TTY commands (REPLs,
vim, tail -f) that sh_run can't drive (it buffers and has no TTY).
It doesn't, by default — adoption depends on a nudge (veil init writes one into
CLAUDE.md) or the guard hook. There is no native integration; veil init reduces
setup to one command but doesn't remove the step. See Installation.
Removed in 0.8.0. A 30-day audit of real Claude Code session logs measured 0 calls to
either across 3.5k sessions, against 3.5k calls to sh_run. Every tool occupies a slot in
the agent's context on every single request, so a tool nobody calls is a permanent tax.
The blast-radius classifier behind sh_plan is unchanged and still gates every sh_run.
No — it's static classification, not execution. Shell is Turing-complete, so a
genuine universal dry-run is impossible (curl | sh can't be predicted). It decomposes
pipelines/lists and classifies each segment, biasing toward over-flagging. Treat it as
advisory, never as an enforcement boundary. For an actual dry-run use sh_run with
preview: true; for containment use sandbox: true.
No. Records are persisted to disk (per project) and recovered on restart. Old records
are TTL-pruned and capped by VEIL_MAX_RECORDS. See Configuration.
Often not — those environments restrict the unprivileged user namespaces bubblewrap
needs, so sandbox reports unavailable and refuses (rather than running unconfined).
macOS is solid. A Landlock backend is planned for the container case. See
Sandbox and Trace.
sh_run executes arbitrary commands with the launching process's privileges and
exposes its environment (including secrets) — by design, it is a shell. Run it only in
trusted contexts. For a single risky command, opt into sandbox. See the
security policy.
The verbose-case savings are large (the backtest floors each verbose case at 85% and
the weighted mix at 70%), but the real value is structure + safety, not the token
count. Reproduce the numbers yourself: npm test && npm run bench.
macOS and Linux. The default (non-sandbox) path is cross-platform; the Linux sandbox and trace backends are experimental and validated in CI.