The other c4s commands return raw entities. ask is different: it puts a question to the
spec agent and gets back a written answer grounded in your spec. Use it when you're
implementing against a spec and a detail is unclear — ask the agent rather than guessing.
Unlike every other c4s command, ask needs a running editor server: it's talking to
the live agent, so an instance of npx @inharness-ai/claude4spec must be up for the project.
Start the editor server
In the spec's directory, run the editor.
askdiscovers its port from.claude4spec/config.json.$npx @inharness-ai/claude4specAsk a question
Pass your message and a context type.
chatis the general-purpose channel.$c4s ask "What auth does the create-order endpoint require?" --ct chatContinue the thread
Each answer comes back with a thread id. Pass it on the next call to keep the context instead of starting fresh.
$c4s ask "And what does it return on conflict?" --thread <id>
Context types
A new thread needs a --ct (context type) so the agent knows what it's reasoning about:
--ct chatGeneral questions about the spec. The default starting point.--ct briefQuestions scoped to an implementation brief. Requires --brief <path>.--thread <id>Continue an existing thread. Use this instead of --ct after the first turn.--brief <path>Path to the brief file, required when --ct brief.--server <url>Talk to a specific server instead of discovering one from config — for a remote spec or a one-off port.Patch threads can't be started from ask — you can only continue one that already exists
with --thread <id>. If you pass both --project and --server, --server wins.