Skip to main content

ish ask run

Run an ask - append a round to the active ask, or --new to create a fresh ask Usage: ish ask run [id] [options]

Arguments

id
Ask alias or UUID to append to (defaults to active ask; ignored with —new) (optional)

Options

--ask <id>
string
Ask ID; alternative to positional argument
--new
boolean
Create a new ask instead of appending a round
--name <name>
string
Ask name (with —new; auto-generated if omitted)
--description <description>
string
Ask description (with —new only)
--workspace <id>
string
Workspace ID (with —new only)
--prompt <prompt>
string
Round prompt - what participants respond to Required.
--variant <kind:value>
string
Variant: text:”…”, ./file.png, image:./file.png, ./file.png::label=B (repeatable) Default: [].
--variants <file.json>
string
JSON manifest of variants (alternative to —variant)
--wants-pick
boolean
Each participant picks a favourite variant (compatible with —wants-ratings; can be set together).
--wants-ratings
boolean
Each participant rates every variant 1-5 (compatible with —wants-pick; can be set together). If neither is set, participants leave a free-form comment only.
--questions <json|@file|path>
string
Questions as inline JSON, @file, or a JSON file path: [{“question”:”…”,“type”:“text”|“slider”|“likert”|“single-choice”|“multiple-choice”|“number”}]
--language <code>
string
2-letter language code (with —new only) Default: “en”.
--person <ids>
string
Person IDs/aliases (comma-separated or repeatable) Default: [].
--sample <N>
string
Randomly sample N people from the matching pool (max 20 per dispatch - split into multiple slices for larger cohorts)
--all-simulatable
boolean
Use every simulatable AI person matching the filters (with —new only) (capped at 20 per dispatch - split into multiple slices for larger cohorts)
--search <text>
string
Substring match against person name
--bio <text>
string
Substring match against person bio
--occupation <text>
string
Substring match against person occupation (repeatable) Default: [].
--gender <gender>
string
Filter by gender (female, male, nonbinary; repeatable, OR semantics) Default: [].
--country <code>
string
Filter by 2-letter country code (repeatable) Default: [].
--min-age <n>
string
Minimum age (inclusive)
--max-age <n>
string
Maximum age (inclusive)
--visibility <v>
string
Filter by visibility: workspace (your workspace), shared (community-published), platform (admin-curated). Old values private / public are accepted and mapped to workspace / platform.
--subset-round <n>
string
Drill-in subset (Pattern B) - append-round only. 1-indexed prior round to filter against. Pair with —subset-variant.
--subset-variant <variant_id>
string
Drill-in subset (Pattern B) - append-round only. Variant id (UUID) on the prior round whose pickers should inherit. Read from aggregates.pick_buckets or variants[*].id on the prior round’s ask results --json.
--wait
boolean
Wait until the round completes (or errors)
--timeout <s>
string
Wait timeout in seconds (default 300)
-y, --yes
boolean
Skip the credit-spend confirmation (required in —json / non-TTY to proceed)

ish ask list

List asks for a workspace Usage: ish ask list [options]

Options

--workspace <id>
string
Workspace ID
--archived
boolean
Include archived asks alongside active ones (default: active only).

ish ask create

Create a new ask with a first round and dispatch to people Usage: ish ask create [options]

Options

--workspace <id>
string
Workspace ID
--name <name>
string
Ask name Required.
--description <description>
string
Ask description
--prompt <prompt>
string
Round prompt - what participants respond to Required.
--variant <kind:value>
string
Variant: text:”…”, ./file.png, image:./file.png, ./file.png::label=B (repeatable) Default: [].
--variants <file.json>
string
JSON manifest of variants (alternative to —variant)
--wants-pick
boolean
Each participant picks a favourite variant (compatible with —wants-ratings; can be set together).
--wants-ratings
boolean
Each participant rates every variant 1-5 (compatible with —wants-pick; can be set together). If neither is set, participants leave a free-form comment only.
--questions <json|@file|path>
string
Questions as inline JSON, @file, or a JSON file path: [{“question”:”…”,“type”:“text”|“slider”|“likert”|“single-choice”|“multiple-choice”|“number”}]
--language <code>
string
2-letter language code Default: “en”.
--person <ids>
string
Person IDs/aliases (comma-separated or repeatable) Default: [].
--sample <N>
string
Randomly sample N people from the matching pool (max 20 per dispatch - split into multiple slices for larger cohorts)
--all-simulatable
boolean
Use every simulatable AI person matching the filters (capped at 20 per dispatch - split into multiple slices for larger cohorts)
--search <text>
string
Substring match against person name
--bio <text>
string
Substring match against person bio
--occupation <text>
string
Substring match against person occupation (repeatable) Default: [].
--gender <gender>
string
Filter by gender (female, male, nonbinary; repeatable, OR semantics) Default: [].
--country <code>
string
Filter by 2-letter country code (repeatable) Default: [].
--min-age <n>
string
Minimum age (inclusive)
--max-age <n>
string
Maximum age (inclusive)
--visibility <v>
string
Filter by visibility: workspace (your workspace), shared (community-published), platform (admin-curated). Old values private / public are accepted and mapped to workspace / platform.
--no-dispatch
boolean
Create the ask in DRAFT status without billing or dispatching the round. Hand the draft id back to the user, then start it with ish ask dispatch &lt;id&gt;. People flags are still required because the participants are materialized at create time. Mutually exclusive with —wait (nothing to wait for).
--wait
boolean
Wait until the first round completes (or errors)
--timeout <s>
string
Wait timeout in seconds (default 300)
-y, --yes
boolean
Skip the credit-spend confirmation (required in —json / non-TTY to proceed)

ish ask dispatch

Dispatch a draft ask - draws credits and starts the round Usage: ish ask dispatch [id] [options]

Arguments

id
Ask alias or UUID (defaults to active ask) (optional)

Options

--ask <id>
string
Ask ID; alternative to positional argument
--wait
boolean
Wait until the first round completes (or errors)
--timeout <s>
string
Wait timeout in seconds (default 300)
-y, --yes
boolean
Skip the credit-spend confirmation (required in —json / non-TTY to proceed)
--workspace <id>
string
Workspace ID; accepted for consistency (inferred from alias / active context)

ish ask get

Get full ask detail (accepts multiple IDs for batched lookup) Usage: ish ask get [ids]... [options]

Arguments

ids
Ask alias(es)/UUID(s); defaults to active ask from ish ask use (optional, variadic)

Options

--ask <id>
string
Ask ID; alternative to a single positional argument
--round <n>
string
Show only round N (1-indexed); single-ask only
--workspace <id>
string
Workspace ID; accepted for consistency (inferred from alias / active context)

ish ask results

Show aggregated results (picks, mean ratings, comments, summary) Usage: ish ask results [id] [options]

Arguments

id
Ask alias or UUID (defaults to active ask) (optional)

Options

--ask <id>
string
Ask ID; alternative to positional argument
--round <n>
string
Show only round N (1-indexed; default: all rounds)
--workspace <id>
string
Workspace ID; accepted for consistency (inferred from alias / active context)

ish ask wait

Poll until a round is completed (or errored) Usage: ish ask wait [id] [options]

Arguments

id
Ask alias or UUID (defaults to active ask) (optional)

Options

--ask <id>
string
Ask ID; alternative to positional argument
--round <n>
string
Round number to wait for (1-indexed; default: last round)
--timeout <s>
string
Max seconds to wait (default 300)
--workspace <id>
string
Workspace ID; accepted for consistency (inferred from alias / active context)

ish ask add-round

Append a new round to an existing ask (max 5 per ask) Usage: ish ask add-round [id] [options]

Arguments

id
Ask alias or UUID (defaults to active ask) (optional)

Options

--ask <id>
string
Ask ID; alternative to positional argument
--workspace <id>
string
Workspace ID; accepted for consistency (workspace is inferred from the ask)
--prompt <prompt>
string
Round prompt Required.
--variant <kind:value>
string
Variant flag (repeatable; same syntax as ask create) Default: [].
--variants <file.json>
string
JSON manifest of variants
--wants-pick
boolean
Each participant picks a favourite variant (compatible with —wants-ratings; can be set together).
--wants-ratings
boolean
Each participant rates every variant 1-5 (compatible with —wants-pick; can be set together). If neither is set, participants leave a free-form comment only.
--questions <json|@file|path>
string
Questions as inline JSON, @file, or a JSON file path: [{“question”:”…”,“type”:“text”|“slider”|“likert”|“single-choice”|“multiple-choice”|“number”}]
--subset-round <n>
string
Drill-in subset (Pattern B) - 1-indexed prior round to filter against. Pair with —subset-variant. The new round dispatches only to participants who picked —subset-variant on round N.
--subset-variant <variant_id>
string
Drill-in subset (Pattern B) - variant id (UUID) on the prior round whose pickers should inherit. Pair with —subset-round. Read from aggregates.pick_buckets or variants[*].id on the prior round.
--wait
boolean
Wait until the new round completes
--timeout <s>
string
Wait timeout in seconds (default 300)
-y, --yes
boolean
Skip the credit-spend confirmation (required in —json / non-TTY to proceed)

ish ask add-questions

Append questionnaire questions to a round. Default: additive re-dispatch (prior picks/comments/ratings preserved; only the new questions are answered). Pass —redispatch-all to fully reset and re-run the round from scratch. Usage: ish ask add-questions [id] [options]

Arguments

id
Ask alias or UUID (defaults to active ask) (optional)

Options

--ask <id>
string
Ask ID; alternative to positional argument
--round <n|round-id>
string
Round number (1-indexed) or round id/alias Required.
--questions <json|@file|path>
string
Questions as inline JSON, @file, or a JSON file path: [{“question”:”…”,“type”:“text”|“slider”|“likert”|“single-choice”|“multiple-choice”|“number”}] Required.
--redispatch-all
boolean
Clear prior phase-1 outputs (comment, pick, ratings) and re-run the entire round from scratch (legacy behavior). Default is additive - only the new questions are answered.
--wait
boolean
Wait until the round completes (or errors)
--timeout <s>
string
Wait timeout in seconds (default 300)
-y, --yes
boolean
Skip the credit-spend confirmation (required in —json / non-TTY to proceed)
--workspace <id>
string
Workspace ID; accepted for consistency (inferred from alias / active context)

ish ask retry

Re-dispatch only the errored responses on a round (idempotent: zero-errored is a no-op). Usage: ish ask retry [id] [options]

Arguments

id
Ask alias or UUID (defaults to active ask) (optional)

Options

--ask <id>
string
Ask ID; alternative to positional argument
--round <n|round-id>
string
Round number (1-indexed) or round id/alias Required.
--wait
boolean
Wait until the retried round completes (or errors)
--timeout <s>
string
Wait timeout in seconds (default 300)
-y, --yes
boolean
Skip the credit-spend confirmation (required in —json / non-TTY to proceed)
--workspace <id>
string
Workspace ID; accepted for consistency (inferred from alias / active context)

ish ask add-people

Add people to an existing ask (they become participants when the round runs; optionally backfill prior rounds) Usage: ish ask add-people [id] [options]

Arguments

id
Ask alias or UUID (defaults to active ask) (optional)

Options

--ask <id>
string
Ask ID; alternative to positional argument
--workspace <id>
string
Workspace ID; accepted for consistency (workspace is inferred from the ask)
--round <n|round-id>
string
Round to add people to (required) Required.
--person <ids>
string
Person IDs/aliases (comma-separated or repeatable) Default: [].
--sample <N>
string
Randomly sample N people from the matching pool (max 20 per dispatch - split into multiple slices for larger cohorts)
--all-simulatable
boolean
Add every simulatable AI person matching the filters not already included (capped at 20 per dispatch - split into multiple slices for larger cohorts)
--search <text>
string
Substring match against person name
--bio <text>
string
Substring match against person bio
--occupation <text>
string
Substring match against person occupation (repeatable) Default: [].
--gender <gender>
string
Filter by gender (female, male, nonbinary; repeatable, OR semantics) Default: [].
--country <code>
string
Filter by 2-letter country code (repeatable) Default: [].
--min-age <n>
string
Minimum age (inclusive)
--max-age <n>
string
Maximum age (inclusive)
--visibility <v>
string
Filter by visibility: workspace (your workspace), shared (community-published), platform (admin-curated). Old values private / public are accepted and mapped to workspace / platform.
--backfill
boolean
Backfill prior rounds in order for new people

ish ask update

Update an ask’s name or description Usage: ish ask update [id] [options]

Arguments

id
Ask alias or UUID (defaults to active ask) (optional)

Options

--ask <id>
string
Ask ID; alternative to positional argument
--name <name>
string
New name
--description <description>
string
New description
--workspace <id>
string
Workspace ID; accepted for consistency (inferred from alias / active context)

ish ask archive

Archive an ask (hides it from default list) Usage: ish ask archive [id] [options]

Arguments

id
Ask alias or UUID (defaults to active ask) (optional)

Options

--ask <id>
string
Ask ID; alternative to positional argument
--workspace <id>
string
Workspace ID; accepted for consistency (inferred from alias / active context)

ish ask unarchive

Restore an archived ask Usage: ish ask unarchive [id] [options]

Arguments

id
Ask alias or UUID (defaults to active ask) (optional)

Options

--ask <id>
string
Ask ID; alternative to positional argument
--workspace <id>
string
Workspace ID; accepted for consistency (inferred from alias / active context)

ish ask delete

Delete an ask and all its rounds, responses, and participants Usage: ish ask delete [id] [options]

Arguments

id
Ask alias or UUID (defaults to active ask) (optional)

Options

--ask <id>
string
Ask ID; alternative to positional argument
-y, --yes
boolean
Skip confirmation prompt (required in —json or non-TTY contexts)
--workspace <id>
string
Workspace ID; accepted for consistency (inferred from alias / active context)

ish ask use

Set the active ask (saved to ~/.ish/config.json) Usage: ish ask use [id] [options]

Arguments

id
Ask alias or UUID (optional)

Options

--clear
boolean
Remove the active ask from config
--workspace <id>
string
Workspace ID; accepted for consistency (inferred from alias / active context)

Global flags

Every command accepts the global flags.
-V, --version
boolean
output the version number
-t, --token <token>
string
Auth token (or set ISH_TOKEN env var)
--token-file <path>
string
Read auth token from a file (preferred over —token / ISH_TOKEN)
--workspace <id>
string
Default workspace ID; per-subcommand —workspace overrides
--json
boolean
Output as JSON (auto-enabled when piped)
--get <field>
string
Extract a single field from the JSON response and print only its value (implies —json internally; supports dotted paths e.g. person.name)
--human
boolean
Force human-readable output even when stdout is piped (overrides JSON-when-piped auto-detection)
--fields <fields>
string
Comma-separated fields to include in JSON output (e.g. alias,name,status)
--verbose
boolean
Include full UUIDs and timestamps in JSON output
--no-color
boolean
Disable colored output (also honored: NO_COLOR env var)
-q, --quiet
boolean
Suppress progress messages on stderr (no-op for read commands that emit none)