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 action | What it does |
|---|---|
| list | every job in this session |
| status | state of one job_id |
| output | captured output of one job_id |
| cancel | kill the job's process tree |