Skip to content

Command line

Every command takes --json (export takes --format json). Each JSON object names its schema, "schema": "askround/round@1", and the schemas are published in the repository’s schema/ directory as JSON Schema.

Code Means
0 every answer came back
3 a partial round: it finished, and the answers that failed are listed
1 no answer came back
2 refused before anything was sent (personal data, a leading question, over the cap or the budget, no key) or a usage error

askround explain lists the refusal codes, and askround explain <code> says what one means and how to pass it.

askround ask

send one question to every configured provider

ArgumentWhat it does
--provideronly this provider (repeatable)
--modelpin the model one provider uses (repeatable)
--max-costrefuse, before anything is sent, a run estimated above this (or ASKROUND_MAX_COST)
--approvethe person approves this run past the day or month budget (agents cannot)
--freshask again even if the same round was asked recently (it counts against the budget)
--estimate-onlyrun every check and print the estimate; ask nothing
question
--no-searchask without web search, to compare with a searched round
--runstimes each provider is asked, in fresh conversations (default 3)
--productreport how often this product is named and where (repeatable)
--localeask as someone in this country, e.g. BR:pt-BR; repeat to compare (each locale is a full set of runs)
--extractread each answer's recommendations in order with a model (one extra call per answer), so a product's rank counts tables and prose; default extractor: the first of openai, gemini, anthropic with a key
--check-rivalslook up whether the top N rivals (default 10) exist: GitHub, then one searched call each; needs --extract
--product-filea product file (TOML: names, places, facts); with --extract, the answers' claims are compared with its facts (repeatable)
--brandthe question names the product on purpose; without this it is refused
--check-linksfollow the links each answer gives beside a --product, and flag the ones that land on someone else's page
--outwhere rounds are saved
--jsonprint the round as JSON

askround run

ask every question of a product file (a prompt set)

ArgumentWhat it does
--provideronly this provider (repeatable)
--modelpin the model one provider uses (repeatable)
--max-costrefuse, before anything is sent, a run estimated above this (or ASKROUND_MAX_COST)
--approvethe person approves this run past the day or month budget (agents cannot)
--freshask again even if the same round was asked recently (it counts against the budget)
--estimate-onlyrun every check and print the estimate; ask nothing
PRODUCT.toml
--runsruns per question, over what the file sets for each
--no-searchno web search
--extractread recommendations and claims, and compare the claims with the file's facts
--check-linksfollow the product's links
--outwhere rounds are saved
--jsonprint the set's report as JSON

askround discover

find which way of asking leads the assistants to a product

ArgumentWhat it does
--provideronly this provider (repeatable)
--modelpin the model one provider uses (repeatable)
--max-costrefuse, before anything is sent, a run estimated above this (or ASKROUND_MAX_COST)
--approvethe person approves this run past the day or month budget (agents cannot)
--freshask again even if the same round was asked recently (it counts against the budget)
--estimate-onlyrun every check and print the estimate; ask nothing
PRODUCT.toml
--seedthe question to vary (default: the file's first one)
--variantshow many (default 6)
--runsruns per question (default 1)
--extractalso rank by the extraction pass (one more call per answer)
--outwhere rounds are saved
--jsonprint the ranking as JSON

askround lookup

check whether products exist: GitHub, then one searched call each

ArgumentWhat it does
NAME
--contextwhat they were recommended for
--no-webGitHub only, free
--jsonprint the verdicts as JSON

askround diff

what changed between two rounds or prompt set runs

ArgumentWhat it does
oldthe earlier round or set (directory)
newthe later one
--productcompare for it
--outwhere rounds are saved
--jsonprint the changes as JSON

askround series

a product's share of answers over time, from every round kept

ArgumentWhat it does
--productthe product to follow (required)
--bydefault: week (one of: day, week, month)
--questiononly questions containing this text
--rebuildwrite the series again from every round.json
--outwhere rounds are saved
--jsonprint the table as JSON

askround research

ask a research question everywhere and merge the answers' claims and sources

ArgumentWhat it does
--provideronly this provider (repeatable)
--modelpin the model one provider uses (repeatable)
--max-costrefuse, before anything is sent, a run estimated above this (or ASKROUND_MAX_COST)
--approvethe person approves this run past the day or month budget (agents cannot)
--freshask again even if the same round was asked recently (it counts against the budget)
--estimate-onlyrun every check and print the estimate; ask nothing
question
--runsruns per provider (default 1)
--extractwho reads and merges (default: auto)
--outwhere rounds are saved
--jsonprint the merged claims as JSON

askround budget

what has been spent against the budget

ArgumentWhat it does
--outwhere rounds are saved
--jsonprint it as JSON

askround explain

what a refusal code means and how to pass it

ArgumentWhat it does
codee.g. question.leading (default: list them)

askround mcp

serve askround to an agent as an MCP server (stdio)

ArgumentWhat it does
--outwhere rounds are saved

askround install

wire a project to the askround plugin in its .claude/settings.json

ArgumentWhat it does
projectthe project (default: here)
--checkwrite nothing; exit 1 when it is not wired
--vendoralso commit a copy of askround and its .mcp.json entry, for Claude Code on the web

askround export

a product's numbers from the series, for a dashboard

ArgumentWhat it does
--productthe product to export
--fromfirst day
--tolast day
--format (one of: csv, json, daily)
--keythe product's key in --format daily (default: its name)
--filewrite here instead of printing
--outwhere rounds are saved

askround report

sum a stored round up: Markdown for a person, JSON for a pipeline

ArgumentWhat it does
rounda round's directory or round.json (default: the latest round under --out)
--productreport on this product (default: the products the round was asked about)
--outwhere rounds are saved
--jsonprint the report as JSON
--briefthe round in a few hundred tokens, each fact with its answers' ids (JSON)

askround doctor

say which providers can run here

ArgumentWhat it does
--provideronly this provider (repeatable)
--modelpin the model one provider uses (repeatable)
--no-checkmake no network call
--jsonprint the report as JSON