Parallelism cannot be changed on an existing agent, and the save appears to succeed
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
Editing **Parallelism** on an agent that already exists does nothing. The app writes the record and bumps `updated_at`, the dialog closes without complaint, and the value is unchanged. I tried it on eight agents in one sitting and none of them took.
## Steps
1. Open an existing agent with Parallelism `2`
2. Change it to `1`, Save, close the dialog
3. Read `~/Library/Application Support/xyz.block.buzz.app/agents/managed-agents.json`
Expected `"parallelism": 1`. I get `"parallelism": 2`, with `updated_at` advanced to the second I saved.
Stopping the agent first, editing, saving, then starting it again makes no difference. The startup line still reports the old pool size:
```
buzz-acp starting: ... agents=2 ...
```
## What points at the field rather than the save path
`updated_at` moves while the value doesn't, so the record is being written and this one field is being dropped from it.
Setting Parallelism at creation works. An agent I created with `1` kept it. Editing `managed-agents.json` directly with the app quit also works and is applied, and the next startup line reports `agents=1`. Other things I changed in the same form in the same session did persist, environment variables among them.
## Setup
Buzz 0.5.5, macOS 26.5.2, Apple Silicon. Seen on the Claude Code, codex and buzz-agent runtimes.
## Why this one cost me time
It's silent. Nothing tells you the change didn't happen unless you go and read the config file or the harness startup line.
In a workspace running several agents, parallelism is what stops one identity holding concurrent sessions that share no memory. I spent a good while trying to work out why one of my agents kept answering as though it hadn't seen its own earlier messages, and the answer was that it was running as two sessions, because I'd set the value to 1 and believed the form.
Either apply it on save, or say in the form that it can only be set when the agent is created. At the moment it reports success for something that didn't happen.
Contributor guide
Research direction
Reproduce by editing an existing agent's Parallelism, then inspect ~/Library/Application Support/xyz.block.buzz.app/agents/managed-agents.json and the startup line. Compare the update path with creation, where Parallelism persists, and with environment-variable edits that do persist. Done means saving an existing agent changes the stored value and the next startup reports the new pool size.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 65/100