Repository navigation
v0.1.3 Bash Quoting & Structured History Replay
Fixes
- Bash quoting (#37, PR #42): the
bashtool now receives the original command text instead of ashlex.splitthen" ".joinrebuild, so quotes survive (sed -i 's/a b/c d/' f,grep -n "return list" f,python -c "print(1+1)") and pipelines,&∧keep working. Previously any quoted argument with spaces or parentheses was re-split by the shell. - History replay (#38, PR #43): past actions are now replayed to Ollama, OpenAI-compatible and Anthropic providers as real
tool_callsplustoolresults (tool_use/tool_resulton Anthropic) instead ofact('...')assistant text, which small tool-calling models copied into real arguments and corrupted files. Replayedstdinis a real 400-char prefix, not a copyable<N chars>placeholder. Custom providers keep the textual form unless they setstructured_history = True. The system prompt and tools array are unchanged.
Docs
- New runnable example
examples/course/and a Troubleshooting page (symptom, cause, fix, known limitations);@toolargument parsing, thetools.pyplustools:requirement, gate and pipeline practices, observation-folding workarounds, Ollama in Docker and the awk/sed sandbox false positive.
Verified
End-to-end on qwen3-coder:30b (bug-fix task on a small FastAPI repo): 18 steps, one-line fix, all tests pass, no corrupted arguments. Before these fixes the same task failed in five attempts.