cat, grep, rg, head,
and tail return at most 2,000 lines by default, and every command stops after
600 seconds.
Set Limits
Set a workspace default for every session, a mount override for commands that run on that mount, or a profile override for sessions created with that profile.command_limits.
Choose Which Limit Applies
A command uses the first configured entry that names it: the session profile, the mount, the workspace, the command’s own default, then Mirage’s built-in default. An entry replaces that command’s entire limit, so include the timeout again when an override should retain it. Commands absent from an override keep their inherited limits. For commands spanning multiple mounts, Mirage applies the tightest resolved limit from those mounts.Handle a Reached Limit
max_linesandmax_bytescap output. UseNonein Python ornullin TypeScript for no cap.timeout_secondssets a deadline. A command that passes it exits 124.on_exceed=TRUNCATE, the default, returns the capped output, writes a notice to stderr, and preserves the command’s exit code.on_exceed=ERRORdrops the output and exits 1, so&&and||see a failure.
maxLines, maxBytes, timeoutSeconds,
and onExceed.
Caps apply to each command’s printed output. cat big.txt; echo end still prints
end. Input to a pipe, redirect, or command substitution is not cut, so
cat big.txt | wc -l counts every line.