Comment by the_mitsuhiko
4 days ago
We will write about it. The best way to think about it is that codemode solves a different problem than bash in that bash is a way for the agent to run a particular tool: running bash.
Codemode is a way for the LLM to orchestrate harness level tools. The reason this happening now, is because the models by the labs are increasingly trained on this. Codex for instance in responses lite requires codemode to even perform parallel tool calling.
Bash (including `python3 <<EOF...`) is how you orchestrate CLI calls.
If all your tools are CLI calls, all you need is bash.
The one and only impedance mismatch is subagents; nobody's come up with a good way to turn the "subagent" tool into something you can access via the CLI. But I think fixing that would be a more productive direction than surrendering to the MCP insanity.