---
title: "Retrieve Run Settings"
method: GET
path: "/api/v1/runs/{id}/settings"
tags: ["Run Internals"]
---

# Retrieve Run Settings

`GET /api/v1/runs/{id}/settings`

Returns the persisted dense `WorkflowSettings` snapshot used to launch this run.

## Path parameters

- `id` string, required

## Response `200`

Run settings

- WorkflowSettings — The persisted dense `WorkflowSettings` snapshot used for a specific run. This matches the resolved run settings recorded at launch time.
  - `project` ProjectNamespace, required
    - `name` string, nullable, required
    - `description` string, nullable, required
    - `metadata` StringMap, required
  - `workflow` WorkflowNamespace, required
    - `name` string, nullable, required
    - `description` string, nullable, required
    - `graph` string, required
    - `metadata` StringMap, required
  - `environments` object, required
  - `run` RunNamespace, required
    - `goal` union, required
      - RunGoalInline
        - `type` 'inline', required
        - `value` string, required — Config string that can contain typed interpolation tokens.
      - RunGoalFile
        - `type` 'file', required
        - `value` string, required — Config string that can contain typed interpolation tokens.
    - `working_dir` string, required — Config string that can contain typed interpolation tokens.
    - `metadata` StringMap, required
    - `inputs` object, required
    - `model` RunModelSettings, required
      - `provider` string, nullable, required
      - `name` string, nullable, required
      - `fallbacks` object, required — Ordered fallback targets keyed by the originally requested model. Each chain is independent; selecting a fallback target does not activate that target model's own chain.
      - `controls` RunModelControls — Run-level default values for typed model controls. Node and style attributes still win over these defaults.
        - `reasoning_effort` string, nullable, required
        - `speed` string, nullable, required
    - `git` RunGitSettings, required
      - `author` GitAuthorSettings, required
        - `name` string, nullable, required
        - `email` string, nullable, required
    - `prepare` RunPrepareSettings, required
      - `steps` PreparedStep[], required
        - union — A single resolved prepare step. The runnable part preserves the script-vs-argv distinction via the `type` discriminator: a `script` is a raw shell snippet kept verbatim, while a `command` is an argv whose elements are shell-quoted and joined at the run boundary (after `{{ secrets.* }}` resolution) so an interpolated value cannot inject shell syntax. Optional per-step `env` is shared by both shapes.
          - object
            - `type` 'script', required
            - `script` string, required
            - `env` StringMap
          - object
            - `type` 'command', required
            - `command` string[], required
            - `env` StringMap
      - `timeout_ms` integer, required
    - `execution` RunExecutionSettings, required
      - `mode` 'normal' | 'dry_run', required
      - `approval` 'prompt' | 'auto', required
    - `checkpoint` RunCheckpointSettings, required
      - `exclude_globs` string[], required
      - `skip_git_hooks` boolean, required — When true, Fabro-managed run-branch checkpoint commits bypass local Git commit hooks. Does not affect Fabro `[[run.hooks]]` or metadata-branch snapshots. Defaults to false.
    - `clone` RunCloneSettings, required
      - `enabled` boolean, required
    - `run_branch` RunBranchSettings, required
      - `enabled` boolean, required
      - `push` boolean, required
    - `meta_branch` RunMetaBranchSettings, required
      - `enabled` boolean, required
      - `push` boolean, required
    - `environment` RunEnvironmentSettings, required
      - `id` string, required
      - `provider` 'local' | 'docker' | 'daytona', required — Desired environment provider.
      - `cwd` string, nullable — Local-provider command working directory for this environment. Docker and Daytona ignore this value.
      - `image` EnvironmentImageSettings, required
        - `docker` string, nullable, required
        - `dockerfile` union, required
          - DockerfileSourceInline
            - `type` 'inline', required
            - `value` string, required
          - DockerfileSourcePath
            - `type` 'path', required
            - `path` string, required
      - `resources` EnvironmentResourcesSettings, required
        - `cpu` integer, nullable, required
        - `memory` string, nullable, required
        - `disk` string, nullable, required
      - `network` EnvironmentNetworkSettings, required
        - `mode` 'allow_all' | 'block' | 'cidr_allow_list', required
        - `allow` string[], required
      - `lifecycle` EnvironmentLifecycleSettings, required
        - `preserve` boolean, required
        - `stop_on_terminal` boolean, required
        - `auto_stop` string, nullable, required
      - `labels` StringMap, required
      - `env` object, required
    - `notifications` object, required
    - `interviews` RunInterviewsSettings, required
      - `provider` string, nullable, required
      - `slack` InterviewProviderSettings, required
        - `channel` string, nullable, required
    - `agent` RunAgentSettings, required
      - `fabro_tools` boolean, required
      - `mcps` object, required
    - `hooks` HookDefinition[], required
      - `name` string, nullable, required
      - `event` 'run_start' | 'run_complete' | 'run_failed' | 'stage_start' | 'stage_complete' | 'stage_failed' | 'stage_retrying' | 'edge_selected' | 'parallel_start' | 'parallel_complete' | 'sandbox_ready' | 'sandbox_cleanup' | 'checkpoint_saved' | 'pre_tool_use' | 'post_tool_use' | 'post_tool_use_failure', required
      - `command` string, nullable, required
      - `type` 'command' | 'http' | 'prompt' | 'agent' | 'null', nullable
      - `url` string, nullable
      - `headers` StringMap
      - `tls` 'verify' | 'no_verify' | 'off'
      - `prompt` string, nullable
      - `model` string, nullable
      - `max_tool_rounds` integer, nullable
      - `matcher` string, nullable, required
      - `blocking` boolean, nullable, required
      - `timeout_ms` integer, nullable, required
      - `sandbox` boolean, nullable, required
    - `scm` RunScmSettings, required
      - `provider` string, nullable, required
      - `owner` string, nullable, required
      - `repository` string, nullable, required
      - `github` ScmGitHubSettings, required
    - `pull_request` PullRequestSettings, required
      - `enabled` boolean, required
      - `draft` boolean, required
      - `auto_merge` boolean, required
      - `merge_strategy` 'merge' | 'squash' | 'rebase', required — GitHub merge method for a pull request.
    - `artifacts` ArtifactsSettings, required
      - `include` string[], required
    - `integrations` RunIntegrationsSettings, required
      - `github` RunIntegrationsGithubSettings, required
        - `permissions` object, required

## Other responses

- `404` — Run not found

---

[API](https://skmtc.net/fabro-sh/apis/fabro-run-api.md) · [All operations](https://skmtc.net/fabro-sh/apis/fabro-run-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fabro-sh/fabro-run-api/versions/bee030053823/schema)
