With --json, a command prints exactly one JSON value on stdout, so you can pipe it straight into other tools. The shape of each command's output is documented on its page. --filter runs a jq expression over that value without needing jq installed. When a filter produces several values, they come back as one JSON array:
grit exits with status 0 on success and 1 when a command fails (including a push with a rejected ref). A mistake on the command line, such as an unknown option, exits with 2.
Color is used only when stdout is a terminal. Set NO_COLOR to turn it off.
For autonomous agents — non-interactive auth, where to find llms.txt, and a fuller JSON contract — see the Agent guide.