What a workspace holds
One workspace is the scope for a body of related work, usually one product, site, or campaign. Inside it:- Studies and asks. A study is a persistent research artifact (a modality plus interview questions); an ask is a quick one-off question to a set of people. Both belong to one workspace.
- People and sources. The people you generate and the sources you upload are visible to every study and ask in the same workspace, and only there.
- A default base URL.
base_urlis the origin studies in the workspace target by default, and the origin site-access credentials bind to. - Site-access credentials. Login details, session cookies, or basic-auth pairs for a gated site, stored encrypted and scoped to this workspace.
w- prefix (for example w-6ec) derived
from its UUID. The alias is accepted anywhere a workspace ID is, so you rarely
type a full UUID.
How you select one
ish resolves which workspace a command or tool acts on in a fixed order. The first source that is set wins.An explicit flag or parameter
The CLI
--workspace <id> flag, passed on the subcommand itself, or the
workspace_id parameter on an MCP tool. A subcommand-level --workspace
overrides one passed at the program root, so
ish --workspace w-a study list --workspace w-b acts on w-b.The program-root flag
ish --workspace <id> <command>, when the subcommand has no --workspace of
its own.The ISH_WORKSPACE environment variable
A workspace ID in
ISH_WORKSPACE, for scripting without a flag on every call.ish workspace use <id> or pass --workspace. It does not guess.
On the MCP side there is no saved active workspace, so the agent passes
workspace_id explicitly. Discover one by calling workspace_get with no id: it
lists every accessible workspace, default first, then most recently active. See
the workspace tools.
Caps and credits are scoped here
A workspace surfaces two independent quotas. They are easy to confuse, so keep them apart.Entity caps
How many studies and how many custom people the plan lets you keep stored in
each workspace. A create or generate call that would exceed the cap fails up
front with a usage-limit error, before any simulation runs. A
null cap means
unlimited (paid tiers).Simulation credits
The allowance each participant run draws from. Credits come with the
subscription and are not charged per call, so once the pool has headroom you
can run freely. Paid tiers refresh the pool monthly; the free tier gets a
one-time signup grant; purchased credits never expire.
ish workspace info (CLI) or workspace_get with a workspace_id (MCP). Each
returns the studies and people used against their caps plus the credit pool.
Reading this before a create or a run lets an agent branch instead of firing a
call it knows will be rejected.
Creating and reusing
Create a workspace by name. On the CLI a base URL is optional at create time; on the MCP serverworkspace_create takes the same name, description, and base URL.
workspace_create returns a usage-limit error on the first call, which trips
up a cold-start agent told to “make a fresh workspace, then run a study”. Inspect
existing workspaces first and reuse one, or on the CLI use the idempotent
ish workspace create --name <name> --ensure, which returns the existing
workspace of that name instead of failing. The full saturated-account walkthrough
is its own guide.
Brands: comparison workspaces
A brand is a workspace in disguise. When you want to benchmark your study against a competitor or an alternative version on the same audience, you create a brand under a parent workspace. At the data layer a brand is a workspace with a parent set and a type ofcompetitor; ish gives it its own brand namespace so you reason about it
as a comparison target, not a top-level container.
Because a brand is a workspace underneath, it shares the w- alias prefix. Any tool
that takes a workspace ID accepts a brand alias and resolves it. The reverse is not
true the other way you might expect: workspace_get lists only standard
workspaces, never brands, and brand_get lists only the brands under a given
parent.
The benchmark flow is two steps. Create one brand per comparison target, then run a
single benchmark that clones the study to every brand. Each clone gets its own
iteration to fill in with that brand’s URL or media, so the
same questions and audience run against each variant.
Deleting a workspace is the widest destructive action in ish. It cascades to
every study, ask, person, source, secret, and brand inside it, and there is no
soft archive. Deleting a brand cascades to its cloned studies and iterations.
Both are irreversible. The CLI requires
-y / --yes to delete in a
non-interactive context. Full flags are in the
workspace CLI reference and the
brand tools.