Using Gray

Bash tools

One tool by default: bash. Read, search, edit and run commands through a single surface, with no tool sprawl and no per-tool approval prompts.

Source: crates/gray-tools

Gray's default tool surface is a single bash tool. The model reads, searches, edits and runs code through the shell, and schedules its own recurring work by running gray cron add. The agent streams a tool call, Gray executes it with a cancellation token and a working directory, and the result is fed back into the same turn. Ctrl-C cancels a runaway turn.

Background shell jobs

The bash tool can start a command without waiting for it, or let a short command finish and only hand back a job id if it is still running. Up to 32 jobs run concurrently per tool instance, with a bounded history of 128 finished jobs. Jobs are session-scoped and stop when Gray quits.

{"command":"cargo test", "background":true, "timeout":600}
{"command":"cargo test", "yield_ms":1000, "timeout":600}
bash actionWhat it does
listevery job in this session
statusstate of one job_id
outputcaptured output of one job_id
cancelkill the job's process tree