ask
GitHubAsk, then do. Follow up when you need to.
curl -fsSL https://benja.dev/ask/install.shClick to view install script | shv0.2.0. For macOS and Linux. Requires a supported coding agent already set up on your machine.
Ask something
$ ask how do i find TODO or FIXME comments in src?
Use grep with an extended regex:
grep -rEn 'TODO|FIXME' srcBack at your shell prompt, the command finds too much, so you follow up:
$ grep -rEn 'TODO|FIXME' src
src/generated/client.ts:18:// TODO: generated placeholder
src/generated/schema.ts:204:// FIXME: compatibility shim
src/api.ts:42:// TODO: retry failed requests
$ ask -cContinue the latest chat how do i exclude src/generated?
Exclude that directory:
grep -rEn --exclude-dir=generated 'TODO|FIXME' src
$ grep -rEn --exclude-dir=generated 'TODO|FIXME' src
src/api.ts:42:// TODO: retry failed requestsOr start a session
$ ask
> why is this container restarting?
Check its exit code:
docker inspect -f '{{.State.ExitCode}}' my-container
> it says 137. what does that mean?
Exit code 137 usually means SIGKILL, often from running out of memory.
Check whether Docker marked it OOM-killed:
docker inspect -f '{{.State.OOMKilled}}' my-container
> it says true. what should i check next?
AskingSessions are saved automatically, so you can return to them later.
Supported agents
Codex, Claude Code, Pi, and OpenCode.
How it works
The ask binary is about 556 KB. It runs a supported coding agent on your machine, keeps it in read-only mode, and uses its existing setup.
Answers stream to stdout. Prompts and errors stay on stderr, so you can pipe the output. For example: ask summarize README.md | less.
$ ask --help
Ask, then do. Follow up when you need to.
Usage:
ask [QUESTION...]
ask -c [QUESTION...]
ask --sessions
ask --settings
ask --upgrade
With no question, ask starts an interactive session.
Options:
-c, --continue Continue the latest session here
-s, --sessions Choose a saved session to continue
--settings Choose defaults for new sessions
--upgrade Upgrade to the latest release
-h, --help Print help
-v, --version Print version