---
title: NoSlotWorkspaceOptions
description: The options of a `workspace()` with no Repo Slot that declares the input that starts a run.
---

# `NoSlotWorkspaceOptions`

Type, in `@jr2/orchestrator/src/workspace.ts`. The signature of an export, or a type that it names, names this type. The [Authoring surface](../authoring-surface.md) page lists each export. This type is not an export of `@jr2/orchestrator`, so a workflow module does not import it by name.

```ts
type NoSlotWorkspaceOptions<TSchema extends z.ZodObject> = Omit<SandboxOptions<never>, "repos"> & {
  repos?: never;
  input: TSchema;
  spec?: (args: { input: WithoutEmptyIndex<z.infer<TSchema>> & HostInjectedInput }) => NoSlotSpec;
};
```

The options of a `workspace()` with no Repo Slot that declares the input that starts a run.
`repos` is left out, and `spec` is optional.

**Fields**: each field of [`SandboxOptions`](type-sandboxoptions.md), except `repos`, and these:

- `repos` (optional): `never`

  Not present: the Workspace has no Repo Slot. Its Agents work in `/work`.
- `input`: `TSchema`

  The input that starts a run, as a `z.object`, as in [`WorkspaceOptions`](type-workspaceoptions.md).
- `spec` (optional): `(args: { input: WithoutEmptyIndex<z.infer<TSchema>> & HostInjectedInput; }) => NoSlotSpec`

  A function from the run input to the Workspace's [`NoSlotSpec`](type-noslotspec.md): only `workGroup`.
  Default: no `workGroup`.
