<!-- Generated by SpecStory, Markdown v2.1.0 -->

<!-- cursor Session 94cd7036-d499-4115-8ef1-ff677cb37071 (2026-03-16 20:23Z) -->

# Disabling blocklisting in Flamenco (2026-03-16 20:23Z)

_**User**_

Can I disable blocklisting on a machine or farm-wide in flamenco?

---

_**Agent (model kimi-k2.5, mode Agent)**_

<think><details><summary>Thought Process</summary>
The user is asking about disabling blocklisting in Flamenco. This appears to be a question about a software called Flamenco, which seems to be some kind of render farm or task management system. Let me first explore the codebase to understand what Flamenco is and how blocklisting works in it.

I should search the codebase for information about blocklisting to understand the context better.</details></think>

---

I'll explore the Flamenco codebase to understand how blocklisting works and whether it can be disabled.

---

<tool-use data-tool-type="unknown" data-tool-name="task_v2">
<details>
<summary>Tool use: **task_v2**</summary>


Parameters:

```json
{
  "description": "Explore Flamenco blocklisting",
  "prompt": "Search the Flamenco codebase to understand:\n1. What is blocklisting and how does it work in Flamenco?\n2. Is there a way to disable blocklisting - either per-machine or farm-wide?\n3. Look for configuration options, settings, or code related to blocklisting\n\nSearch for terms like \"blocklist\", \"block_list\", \"blacklist\", and explore the codebase structure to understand the project. Provide findings about whether blocklisting can be disabled and how.",
  "subagentType": "explore",
  "model": "accounts/fireworks/models/kimi-k2p5",
  "name": "explore"
}
```
Additional data:

```json
{
  "status": "success",
  "subagentComposerId": "dbf66ebd-53bc-4ef4-b844-c7c6c8bc834c",
  "terminationReason": "completed"
}
```
Result:

```json
{
  "agentId": "dbf66ebd-53bc-4ef4-b844-c7c6c8bc834c"
}
```
Status: **completed**


</details>
</tool-use>

---

<think><details><summary>Thought Process</summary>
The exploration provides good information. Let me provide a clear answer to the user about disabling blocklisting in Flamenco.</details></think>

---

Yes, you can disable blocklisting in Flamenco, but only **farm-wide** via the manager configuration—there is no per-machine disable option.

## How to Disable Blocklisting

Add this to your `flamenco-manager.yaml` file (located next to the `flamenco-manager` executable):

```yaml
# Disable blocklisting entirely
blocklist_threshold: 0
```

Then restart the Flamenco Manager.

## Configuration Options

| Setting | Description | Default |
|---------|-------------|---------|
| `blocklist_threshold` | Number of failures before blocking a worker from a task type on a job | 3 |

You can also increase the threshold instead of disabling it completely:

```yaml
# More tolerant - requires 5 failures before blocking
blocklist_threshold: 5
```

## Important Notes

- **Per-job scope**: Blocklisting is per-job and per-task-type. A worker blocked on "blender" tasks for Job A can still work on "blender" tasks for Job B.
- **No per-worker control**: There's no UI or API to disable blocklisting for individual workers—it's a global setting only.
- **Purpose**: Blocklisting protects your farm from repeatedly assigning tasks to workers that are struggling with particular jobs (e.g., due to insufficient memory or incompatible scene files).

---

_**User**_

Changing the threshold to 0 doesn't seem to prevent blocklisting.

---

_**Agent (model kimi-k2.5, mode Agent)**_

<think><details><summary>Thought Process</summary>
The user is saying that setting `blocklist_threshold: 0` doesn't prevent blocklisting. This could be a bug or the configuration might not be getting applied properly. Let me search the codebase to understand how the blocklist threshold is actually implemented and whether there's a bug or different behavior when it's set to 0.

I should search for:
1. How the blocklist_threshold is parsed and used in the code
2. Whether 0 is treated as "disabled" or if there's special handling needed
3. Any bugs or issues with the threshold configuration

Let me search the codebase for the blocklist implementation.</details></think>

---

Let me investigate the actual code implementation to see how the threshold is handled.

---

<tool-use data-tool-type="unknown" data-tool-name="ripgrep_raw_search">
<details>
<summary>Tool use: **ripgrep_raw_search**</summary>


Parameters:

```json
{
  "pattern": "blocklist_threshold",
  "outputMode": "content",
  "context": 5,
  "caseInsensitive": false
}
```
Additional data:

```json
{
  "isPruned": true,
  "pattern": "blocklist_threshold",
  "outputMode": "content",
  "totalFiles": 3,
  "totalMatches": 9,
  "topFiles": [
    {
      "uri": ".specstory/history/2026-01-08_17-28Z-shaman-symlinking-for-windows-samba.md",
      "matchCount": 22
    },
    {
      "uri": ".specstory\\history\\2026-03-16_20-23Z-blocklisting-in-flamenco-codebase.md",
      "matchCount": 64
    },
    {
      "uri": ".specstory/history/2026-03-04_02-01Z-testing-discussion.md",
      "matchCount": 11
    }
  ]
}
```
Status: **completed**


</details>
</tool-use>

---

<tool-use data-tool-type="unknown" data-tool-name="ripgrep_raw_search">
<details>
<summary>Tool use: **ripgrep_raw_search**</summary>


Parameters:

```json
{
  "pattern": "block.list|BlockList|blocklist",
  "outputMode": "files_with_matches",
  "caseInsensitive": false
}
```
Additional data:

```json
{
  "isPruned": true,
  "pattern": "block.list|BlockList|blocklist",
  "outputMode": "files_with_matches",
  "totalFiles": 4,
  "totalMatches": 4,
  "topFiles": [
    {
      "uri": ".specstory\\history\\2026-03-16_20-23Z-blocklisting-in-flamenco-codebase.md",
      "matchCount": 1
    },
    {
      "uri": ".specstory/history/2026-01-08_17-28Z-shaman-symlinking-for-windows-samba.md",
      "matchCount": 1
    },
    {
      "uri": ".specstory/history/2026-03-04_02-01Z-testing-discussion.md",
      "matchCount": 1
    },
    {
      "uri": ".specstory\\history\\2026-03-16_20-23Z-disabling-blocklisting-in-flamenco.md",
      "matchCount": 1
    }
  ]
}
```
Status: **completed**


</details>
</tool-use>

---

<think><details><summary>Thought Process</summary>
The workspace appears to be mostly specstory history files and doesn't contain the actual Flamenco source code. I need to search the web for more information about whether setting `blocklist_threshold: 0` actually works to disable blocklisting, or if this is a known issue.

Let me also look at the specstory history about blocklisting to see if there are any clues about this issue.</details></think>

---

<tool-use data-tool-type="read" data-tool-name="read_file_v2">
<details><summary>Tool use: **read_file_v2** • Read file: c:\Users\Nathan\Desktop\flamenco/.specstory\history\2026-03-16_20-23Z-disabling-blocklisting-in-flamenco.md</summary>

</details>
</tool-use>

---

<tool-use data-tool-type="unknown" data-tool-name="web_fetch">
<details>
<summary>Tool use: **web_fetch**</summary>


Parameters:

```json
{
  "url": "https://flamenco.blender.org/usage/manager-configuration/"
}
```
Result:

```json
{
  "url": "https://flamenco.blender.org/usage/manager-configuration/",
  "markdown": "Manager Configuration | Flamenco\n\n[Edit page](https://projects.blender.org/studio/flamenco/_edit/main/web/project-website/content/usage/manager-configuration/_index.md)\n\n# Manager Configuration\n\nFlamenco Manager reads its configuration from&#96;flamenco-manager.yaml&#96;, located next to the&#96;flamenco-manager&#96; executable. The previous chapters ([Shared Storage](https://flamenco.blender.org/usage/shared-storage/) and [Variables](https://flamenco.blender.org/usage/variables/)) also describe parts of that configuration file.\n\n## Example\n\n&#96;&#96;&#96;\n# flamenco-manager.yaml\n\n_meta:\n  version: 3\n\n# Core settings\nmanager_name: Flamenco Manager\ndatabase: flamenco-manager.sqlite\nlisten: :8080\nautodiscoverable: true\n\n# Storage\nlocal_manager_storage_path: ./flamenco-manager-storage\nshared_storage_path: /path/to/storage\nshaman:\n  enabled: true\n  garbageCollect:\n    period: 24h\n    maxAge: 744h\n\n# Timeout &amp; Failures\ntask_timeout: 10m\nworker_timeout: 1m\nblocklist_threshold: 3\ntask_fail_after_softfail_count: 3\n\n# Variables\nvariables:\n  blender:\n    values:\n      - platform: linux\n        value: blender\n      - platform: windows\n        value: blender\n      - platform: darwin\n        value: blender\n  blenderArgs:\n    values:\n      - platform: all\n        value: -b -y\n\n# MQTT Configuration\nmqtt:\n  client:\n    broker: 'tcp://mqttserver.local:1883'\n    username: 'username'\n    password: 'your-password-here'\n    topic_prefix: flamenco\n\n&#96;&#96;&#96;\n\nThe usual way to create a configuration file is simply by starting Flamenco Manager. If there is no config file yet, it will start the setup assistant to create one. If for any reasons the setup assistant is not usable for you, you can use the above example to create&#96;flamenco-manager.yaml&#96; yourself.\n\n## Definitions\n\nThe configuration is stored in a [YAML](https://spacelift.io/blog/yaml#basic-yaml-syntax) file. Each attribute is defined below.\n\n### Duration Format\n\nDurations are written in [Go’s notation for durations](https://pkg.go.dev/time#ParseDuration). Examples are&#96;1h&#96; for 1 hour, or&#96;1m30s&#96; for 1 minute and 30 seconds. To avoid ambiguity, hours are the largest available unit; there are days that are not exactly&#96;24h&#96;.\n\n### Core Settings\n\n---\n\n&#96;manager_name&#96; string\n\nThe name of the Flamenco Manager.\n\n---\n\n&#96;database&#96; string\n\nThe file path for the SQLite database.\n\n---\n\n&#96;database_check_period&#96; duration format\n\nHow frequently the database is checked for internal consistency.\n\nThis check always happens at startup of Flamenco Manager. By setting this to a non-zero duration, the check is also performed while Flamenco Manager is running.\n\nIt is not typically necessary to set this; it was implemented to help find a bug, which has been fixed in Flamenco 3.6 ([#104305](https://projects.blender.org/studio/flamenco/issues/104305)). The setting may be removed in the future.\n\n---\n\n&#96;listen&#96; string\n\nThe IP and port (e.g.,&#96;:8080&#96;,&#96;192.168.0.1:8080&#96;, or&#96;[::]:8080&#96;) Flamenco Manager will listen on.\n\nThis is the only port that is needed for Flamenco Manager, and will be used for the web interface, the API, and file submission via the Shaman system.\n\n---\n\n&#96;autodiscoverable&#96; boolean\n\nWhether or not the manager is discoverable by workers in the same network.\n\n### Storage\n\n---\n\n&#96;local_manager_storage_path&#96; string\n\nThe path where the Manager stores local files (e.g., logs, last-rendered images, etc.).\n\nThese files are only necessary for the manager. Workers never need to access this directly, as the files are accessible via the web interface.\n\n---\n\n&#96;shared_storage_path&#96; string\n\nThe [Shared Storage](https://flamenco.blender.org/usage/shared-storage/) path where files shared between Manager and Worker(s) live (e.g., rendered output files, or the .blend files of render jobs).\n\n---\n\n&#96;shaman&#96; map\n\nThe configuration for enabling and garbage collecting the [Shaman Storage System](https://flamenco.blender.org/usage/shared-storage/shaman/).\n\nThe exact structure for&#96;shaman&#96; follows:\n\n&#96;&#96;&#96;\nshaman:\n  enabled: true\n  garbageCollect:\n    period: 24h\n    maxAge: 744h\n\n&#96;&#96;&#96;\n\n---\n\n&#96;enabled&#96; boolean\n\nWhether or not to use the Shaman Storage System.\n\n---\n\n&#96;garbageCollect&#96; map\n\nThe configuration for [garbage collection](https://flamenco.blender.org/usage/shared-storage/shaman/#garbage-collection) on files in the Shaman Storage System.\n\n---\n\n&#96;period&#96; string in duration format\n\nThe period of time determining the frequency of garbage collection performed on file store.\n\n---\n\n&#96;maxAge&#96; string in duration format\n\nThe minimum lifespan of files required in order to be garbage collected.\n\n### Timeout &amp; Failures\n\n---\n\n&#96;task_timeout&#96; string in duration format\n\nThe Manager will consider a Worker to be “problematic” if it hasn’t heard anything from that Worker for this amount of time. When that happens, the Worker will be shown on the Manager in&#96;error&#96; status.\n\n---\n\n&#96;worker_timeout&#96; string in duration format\n\nThe amount of time since the worker’s last sign of life (e.g., asking for a task to perform, or checking if it’s allowed to perform its current task) before getting marked “timed out” and sent to&#96;error&#96; status.\n\n---\n\n&#96;blocklist_threshold&#96; number\n\nThe number of failures allowed on a type of task per job before banning a worker from that task type on that job.\n\nFor example, when a worker fails multiple blender tasks on one job, it’s concluded that the job is too heavy for its hardware, and thus it gets blocked from doing more of those. It is then still allowed to do file management, video encoding tasks, or blender tasks on another job.\n\n---\n\n&#96;task_fail_after_softfail_count&#96; number\n\nThe number of workers allowed to have failed a task before hard-failing the task.\n\n### Variables\n\n---\n\n&#96;variables&#96; map\n\nThe [two-way variables](https://flamenco.blender.org/usage/variables/multi-platform/) to be used for specific operating systems.\n\nThe structure for&#96;variables&#96; follows:\n\n&#96;&#96;&#96;\nvariables:\n  &lt;variable-name&gt;:\n    values:\n      - platform: linux\n        value: value for Linux\n      - platform: windows\n        value: value for Windows\n      - platform: darwin\n        value: value for macOS\n\n&#96;&#96;&#96;\n\n---\n\n&#96; &#96; map\n\nThe variable (e.g.,&#96;blender&#96;,&#96;blenderArgs&#96;, or&#96;my_storage&#96;) to be defined.\n\n---\n\n&#96;values&#96; array\n\nThe list of variable values with their respective platform to be used.\n\n---\n\n&#96;platform&#96; string\n\nThe platform for this variable value.\n\nPossible values:&#96;linux&#96;,&#96;windows&#96;,&#96;darwin&#96;, or&#96;all&#96;.\n\nAny other value used by Go’s [GOOS](https://pkg.go.dev/runtime#GOOS) constant or returned by Python’s [platform.platform()](https://docs.python.org/3/library/platform.html#platform.platform) function can be used here. Of the above values, only&#96;all&#96; is special as it pertains to all platforms.\n\n---\n\n&#96;value&#96; string\n\nThe contents for the variable, for the given platform.\n\n---\n\nFor more information, see [Variables](https://flamenco.blender.org/usage/variables/).\n\n### MQTT Configuration\n\nThis section is completely optional. If you do not know what it’s for, just leave it out.\n\n---\n\n&#96;mqtt&#96; map\n\nThe configuration for MQTT broker and client.\n\nThe exact structure for&#96;mqtt&#96; follows:\n\n&#96;&#96;&#96;\nmqtt:\n  client:\n    broker: ''\n    username: ''\n    password: ''\n    topic_prefix: ''\n\n&#96;&#96;&#96;\n\n---\n\n&#96;client&#96; map\n\nThe configuration for the broker and client.\n\n---\n\n&#96;clientID&#96; string\n\nAn identifier that each MQTT client uses to identify itself.\n\n---\n\n&#96;broker&#96; string\n\nThe URL for the MQTT server.\n\n---\n\n&#96;username&#96; string\n\nThe username of the broker/client.\n\n---\n\n&#96;password&#96; string\n\nThe password of the broker/client.\n\n---\n\n&#96;topic_prefix&#96; string\n\nThe word to prefix each topic (e.g.,&#96;flamenco&#96;).\n\n---\n\nFor more information about the built-in MQTT client, see [Manager Configuration: MQTT](https://flamenco.blender.org/usage/manager-configuration/mqtt/).\n\n[gdoc_arrow_left_alt Two-way Variables for Multi-Platform Support](https://flamenco.blender.org/usage/variables/multi-platform/) [Manager Configuration: MQTT gdoc_arrow_right_alt](https://flamenco.blender.org/usage/manager-configuration/mqtt/)"
}
```
User decision: **accepted**

Status: **completed**


</details>
</tool-use>

---

<think><details><summary>Thought Process</summary>
The documentation shows that `blocklist_threshold` is a number that represents "The number of failures allowed on a type of task per job before banning a worker from that task type on that job."

It doesn't explicitly say that setting it to 0 disables blocklisting. Let me search for more information about this, possibly looking at the source code or issues.</details></think>

---

Let me search for more information about whether setting the threshold to 0 actually disables blocklisting, or if this is a known issue.

---

<tool-use data-tool-type="search" data-tool-name="web_search">
<details>
            <summary>Tool use: **web_search** • Searched web `undefined` • **1** results</summary>
        
| Title | URL | Chunk |
|-------|-----|-------|
| Web search results for query: Flamenco blocklist_threshold 0 not working disable issue bug |  | Links:<br/>1. [Manager Configuration \| Flamenco](https://flamenco.blender.org/usage/manager-configuration/)<br/>2. [Unable to connect manager to server - what goes in each config? · Issue #228 · armadillica/flamenco](https://github.com/armadillica/flamenco/issues/228)<br/>3. [Issues - flamenco - Blender Projects](https://projects.blender.org/studio/flamenco/issues?labels=605)<br/>4. [Frequently Asked Questions](https://flamenco.blender.org/faq)<br/>5. [Worker Configuration \| Flamenco](https://flamenco.blender.org/usage/worker-configuration/)<br/><br/># Flamenco blocklist_threshold 0 Issue<br/><br/>Based on the documentation, `blocklist_threshold` is a configuration parameter in Flamenco Manager's `flamenco-manager.yaml` file that determines when workers are added to a blocklist due to task failures.[1]<br/><br/>The configuration shows that `blocklist_threshold` is set as a numeric value (e.g., `blocklist_threshold: 3`), which indicates how many failures trigger blocklisting.[1] However, the search results do not contain specific documentation about using `blocklist_threshold: 0` to disable the blocklist feature, nor do they document any known bugs related to this setting not working as expected.<br/><br/>To fully disable the blocklist, you may need to:<br/>- Set it to a very high value instead of 0<br/>- Check the Flamenco issue tracker for any reported bugs related to this parameter<br/><br/>For more detailed information about this specific issue, you may need to consult the Flamenco bug tracker at projects.blender.org/studio/flamenco/issues or the community documentation. |

</details>
</tool-use>

---

<tool-use data-tool-type="search" data-tool-name="web_search">
<details>
            <summary>Tool use: **web_search** • Searched web `undefined` • **1** results</summary>
        
| Title | URL | Chunk |
|-------|-----|-------|
| Web search results for query: Flamenco render farm blocklist threshold 0 disable site:projects.blender.org |  | Links:<br/>1. [studio/flamenco: Production render farm manager. - flamenco - Blender Projects](https://projects.blender.org/studio/flamenco)<br/>2. [Issues - flamenco - Blender Projects](https://projects.blender.org/studio/flamenco/issues?labels=605)<br/>3. [archive/flamenco-manager: Flamenco-manager - flamenco-manager - Blender Projects](https://projects.blender.org/archive/flamenco-manager)<br/>4. [Replace UPnP/SSDP with DNS-SD<br/>             #104262](https://projects.blender.org/studio/flamenco/issues/104262)<br/>5. [archive/flamenco-worker: Flamenco-worker - flamenco-worker - Blender Projects](https://projects.blender.org/archive/flamenco-worker)<br/><br/>I was unable to find specific information about the "blocklist threshold 0 disable" feature in Flamenco within the provided search results. <br/><br/>The results show that Flamenco is a production render farm manager[1], and there is a recent commit related to blocklist UI improvements[1], but the search results don't contain documentation or details about configuring a blocklist threshold parameter set to 0 or how to disable it.<br/><br/>To find this information, you may need to:<br/>- Check the Flamenco documentation or wiki directly on the project site<br/>- Review the source code in the addon or internal directories<br/>- Search the project's issues or pull requests for blocklist-related discussions |

</details>
</tool-use>

---

<think><details><summary>Thought Process</summary>
The search results don't show any specific bug about blocklist_threshold: 0 not working, but they also don't confirm that 0 disables the feature. Let me look at the Flamenco source code directly to understand how the blocklist threshold is actually implemented. I'll try to find the Flamenco repository and look at the actual code.</details></think>

---

<tool-use data-tool-type="unknown" data-tool-name="web_fetch">
<details>
<summary>Tool use: **web_fetch**</summary>


Parameters:

```json
{
  "url": "https://projects.blender.org/studio/flamenco"
}
```
User decision: **accepted**

Status: **loading**


</details>
</tool-use>

---

