Use the CLI
Hitch lets programs running as your macOS user work with the running GOAT app. It is off by default and uses a private Unix socket, not a network listener.
Enable and locate the client
Enable Settings → GOATed → Extensions → Hitch. A packaged distribution includes goat beside the app; copy it to a directory already on your PATH if desired. GOAT does not edit shell configuration. To build from source:
make cli
apps/goat-macos/Modules/.build/debug/goat --helpThe CLI checks the configured GOAT Home for control/goat.sock. Use --socket /absolute/path/to/goat.sock if needed. GOAT must already be running with Hitch enabled; the client does not start a second app instance.
Inspect before submitting work
goat status
goat pens list
goat chats list --pen PEN_UUIDReplace PEN_UUID with an actual returned ID. Lists return up to 32 entries and a nextCursor; use --cursor OFFSET for another page.
To deliberately submit a request to an existing ready chat:
goat send --chat CHAT_UUID --text 'Summarise the project brief' --followThis uses the chat’s selected engine and settings. It can start model/tool work. Approvals stay in GOAT and cannot be answered by the API. Closing the terminal does not cancel the turn; use its actual returned ID with goat watch --turn TURN_UUID or goat cancel --turn TURN_UUID.
Output is JSON. A successful CLI exit means the API request succeeded, not necessarily that a turn completed successfully; inspect its state. Watch output is bounded and omits private reasoning, credentials and raw tool arguments.
Use the API reference for operations, wire format, timeouts, idempotent retries and session limits. JUDAS still applies to connections made by submitted chat turns.

