- Streaming JSON —
geoff -p ... --output-format stream-jsonemits one JSON object per line for a single non-interactive turn. Ideal for scripts and pipelines. - ACP server —
geoff acpexposes a full duplex session over stdio for ACP-compatible editors and IDEs.
Streaming JSON output
Run a prompt non-interactively and stream structured results to stdout:Assistant messages
Assistant text and tool calls, in OpenAI-compatible form.tool_calls carries an id, a function.name, and JSON-encoded function.arguments:
Tool result messages
The output of a tool call, keyed back to itstool_call_id:
Resume hint
The final line is ameta message telling you how to resume the session you just ran:
In prompt mode Geoff Code runs with permissions set to auto and approves tool calls automatically, so the turn completes without blocking for input. Combine with
-y only if you also want write/shell actions auto-approved everywhere.Consuming the stream
Read stdout line by line andJSON.parse each line:
--output-format text instead prints a human-readable transcript: assistant text on stdout, thinking and progress on stderr.
ACP server
For editor and IDE integrations, run Geoff Code as an Agent Client Protocol server over stdio:geoff login and exists so ACP clients can complete sign-in without leaving the editor.
Related
Command Reference
All flags for prompt mode and the acp subcommand.
Getting Started
Non-interactive mode basics.