Human-in-the-loop for Goose
Goose is Block's open-source, on-machine agent, and every Goose extension is an MCP server. That makes Orako a natural fit: add it as an extension and Goose can ask the teammate who owns a decision, then continue the session with the reply.
Connect Orako to Goose
- 01
Add the extension below to ~/.config/goose/config.yaml, or run
goose configure. - 02
Approve access in the browser on first use. Goose loads Orako's tools with the extension at session start.
- 03
When a decision needs a person, Goose calls
askand resumes on the reply.
extensions:
orako:
name: orako
type: stdio
enabled: true
cmd: npx
args: ["-y", "mcp-remote", "https://app.orako.io/mcp"]
timeout: 300You can also add it interactively with goose configure → Add Extension → Command-line Extension. The mcp-remote proxy bridges Goose's stdio extensions to Orako's remote endpoint and opens a browser tab for OAuth on first use, so there's no token in the file. The timeout is generous on purpose: humans answer in minutes, not milliseconds.
New to MCP in Goose? See Block’s docs.
What Goose can ask
Goose extensions meet your team's actual experts.
Sessions that outlive a Slack ping
Goose runs long local sessions. A question fires through Orako, the answer arrives when the auth owner is free, and the session threads it in without losing state.
Recipes with a human step
Teams share Goose recipes for repeatable jobs. A recipe that includes ask bakes "check with the owner" into the workflow itself.
On-machine agent, off-machine knowledge
Goose works locally, but its resolved Orako conversations become shared history the whole team can search.
Goose + Orako, answered
Does Goose support MCP natively?
Yes, structurally: Goose extensions are MCP servers. A stdio extension in config.yaml declares type, cmd, args, and a timeout, and Goose loads its tools at session start. Orako is one such extension, reached through the mcp-remote proxy rather than a local binary.
Why raise the extension timeout for Orako?
Because the tool call completes when a human answers. Goose's default extension timeouts assume fast machine responses; setting timeout: 300 gives a teammate a realistic window to reply before Goose gives up on the call.
Do my teammates need this agent installed to answer?
No. Only the developer running the agent connects Orako. The people answering receive each question in Slack, Discord, or the Orako dashboard and reply in the thread. They never touch an editor, a terminal, or an MCP config.
What happens to the answers?
Every resolved conversation becomes searchable team history with its authors, date, tags and full context. Agents call search_history before asking, so a question your team already answered can be reused instead of pinging anyone again.
Put a human in the loop for Goose
Give Goose the one thing it can’t generate: the answer only your team knows.