Summary
Setting enabled: false for a builtin extension in ~/.config/biorouter/config.yaml does not actually remove its tools from a biorouter run session. The agent can still call them.
Environment
- biorouter
1.88.3, macOS (Apple Silicon)
- Headless:
biorouter run --quiet --output-format json --provider ... --model ... -t "..."
Reproduction
- In
~/.config/biorouter/config.yaml, set the developer (and computercontroller) builtin blocks to enabled: false:
developer:
enabled: false
type: builtin
name: developer
...
computercontroller:
enabled: false
type: builtin
...
- Run any headless
biorouter run task that tempts the model toward shell/file work.
- Observe the transcript: the model still calls
shell and text_editor (the developer builtin's tools).
Confirmed over a large automated batch: with the config above in place (file unmodified since), transcripts recorded 11 shell and 12 text_editor calls, including runs executed many hours after the config change. Other builtins whose tools also still appeared: read_file, read_app/update_app, kb_search.
Expected
enabled: false should remove that extension's tools from the session (they should not be offered to the model, and calls to them should not be possible) — the same way a disabled stdio extension's tools disappear.
Actual
The tools remain available and callable. There appears to be no supported way to disable a builtin's tools for headless runs via config.
Impact
Suggestion
Honor enabled: false for builtins in biorouter run (filter them out of the tool list at session construction), or document a supported mechanism (CLI flag / env var / permission.yaml never_allow) to run with a restricted builtin tool set, and make --with-builtin the sole opt-in when specified.
Summary
Setting
enabled: falsefor a builtin extension in~/.config/biorouter/config.yamldoes not actually remove its tools from abiorouter runsession. The agent can still call them.Environment
1.88.3, macOS (Apple Silicon)biorouter run --quiet --output-format json --provider ... --model ... -t "..."Reproduction
~/.config/biorouter/config.yaml, set thedeveloper(andcomputercontroller) builtin blocks toenabled: false:biorouter runtask that tempts the model toward shell/file work.shellandtext_editor(thedeveloperbuiltin's tools).Confirmed over a large automated batch: with the config above in place (file unmodified since), transcripts recorded 11
shelland 12text_editorcalls, including runs executed many hours after the config change. Other builtins whose tools also still appeared:read_file,read_app/update_app,kb_search.Expected
enabled: falseshould remove that extension's tools from the session (they should not be offered to the model, and calls to them should not be possible) — the same way a disabled stdio extension's tools disappear.Actual
The tools remain available and callable. There appears to be no supported way to disable a builtin's tools for headless runs via config.
Impact
developer/computercontrollerreasonably expect shell and filesystem/GUI-control tools to be gone. They are not.Error: not connected; prompt text corrupts--output-format json#40) — disablingdeveloperlooks like a workaround but does not work.Suggestion
Honor
enabled: falsefor builtins inbiorouter run(filter them out of the tool list at session construction), or document a supported mechanism (CLI flag / env var /permission.yamlnever_allow) to run with a restricted builtin tool set, and make--with-builtinthe sole opt-in when specified.