Summary
A partial [subagent] configuration makes Kit fail during startup when nested subagent settings exist but subagent.harness is missing. This should be an actionable warning with a safe fallback rather than a startup-blocking parse error.
In this case, another Kit session added an ACP harness and a model alias but did not add the newly required subagent.harness field. Every new Kit session then failed to open. Recovery was only possible because an existing Kit session was still running and could repair the configuration.
Environment
- Kit:
kit 0.2.1-herdr.1
- Commit:
c0a5df1 (Herdr overlay based on main 735409e)
- OS: macOS (
Darwin, arm64)
- Installation: locally built release binary managed through mise
- Reproduced with:
kit acp (originally encountered while starting a new Kit session)
Minimal reproduction
Create ~/.kit/config.toml containing:
[acp.claude]
command = "true"
[subagent.harnesses."acp.claude".models]
fable = "example-model"
Then run:
Actual behavior
Kit exits before it can start:
Error: Custom { kind: InvalidData, error: "invalid config ~/.kit/config.toml: could not parse config: missing field `harness`\nin `subagent`\n" }
The minimal reproduction exits with status 1. The same invalid configuration prevents opening a new interactive Kit session, which means Kit cannot be used to diagnose or repair its own configuration.
Expected behavior
Kit should remain startable and emit an actionable warning when nested subagent configuration exists without subagent.harness. A safe behavior could be to ignore/disable the incomplete subagent configuration until it is repaired, while clearly explaining how to fix it, for example:
kit config set subagent.harness acp.claude
At minimum, configuration-writing flows that add subagent.harnesses.* settings should ensure the required parent subagent.harness value is also present.
Impact
A single incomplete optional subagent setting locks users out of all normal Kit startup paths. Without another running session or external editor knowledge, recovery is difficult and circular.
Summary
A partial
[subagent]configuration makes Kit fail during startup when nested subagent settings exist butsubagent.harnessis missing. This should be an actionable warning with a safe fallback rather than a startup-blocking parse error.In this case, another Kit session added an ACP harness and a model alias but did not add the newly required
subagent.harnessfield. Every new Kit session then failed to open. Recovery was only possible because an existing Kit session was still running and could repair the configuration.Environment
kit 0.2.1-herdr.1c0a5df1(Herdr overlay based on main735409e)Darwin, arm64)kit acp(originally encountered while starting a new Kit session)Minimal reproduction
Create
~/.kit/config.tomlcontaining:Then run:
Actual behavior
Kit exits before it can start:
The minimal reproduction exits with status 1. The same invalid configuration prevents opening a new interactive Kit session, which means Kit cannot be used to diagnose or repair its own configuration.
Expected behavior
Kit should remain startable and emit an actionable warning when nested subagent configuration exists without
subagent.harness. A safe behavior could be to ignore/disable the incomplete subagent configuration until it is repaired, while clearly explaining how to fix it, for example:kit config set subagent.harness acp.claudeAt minimum, configuration-writing flows that add
subagent.harnesses.*settings should ensure the required parentsubagent.harnessvalue is also present.Impact
A single incomplete optional subagent setting locks users out of all normal Kit startup paths. Without another running session or external editor knowledge, recovery is difficult and circular.