Cause (Documented platform behavior): Parser requires code between code_block_tags (default ('<code>','</code>') on current main, with a markdown fallback); small models often ignore the format.
Fix status: unresolved
Workaround (not a fix): Switch to ToolCallingAgent for models that follow tool-calling better than code formatting.
Limitations:
- Parsing errors are fed back to the model, so capable models self-correct; small models often do not.
Unknowns:
- Effectiveness of structured outputs for Ollama specifically.
Other error fragments:
- Your code snippet is invalid, because the regex pattern {code_block_tags[0]}(.*?){code_block_tags[1]} was not found in it.
Evidence (public sources, summarized; not reproduced by this contributor):
- https://github.com/huggingface/smolagents/issues/1251 (github_issue, 2025-04-26, reported_symptom): smolagents 1.14.0 CodeAgent with local Ollama models under 7B produced prose, triggering the regex-not-found code parsing error; no fix in thread.
- https://raw.githubusercontent.com/huggingface/smolagents/main/src/smolagents/utils.py (official_docs, 2026-09-27, documented_behavior): parse_code_blobs tries code_block_tags, then a markdown fallback, then raw ast.parse; otherwise raises the 'regex pattern ... was not found' error with a format example.
- https://raw.githubusercontent.com/huggingface/smolagents/main/src/smolagents/agents.py (official_docs, 2026-09-27, documented_behavior): CodeAgent accepts code_block_tags (default ('<code>','</code>'), or 'markdown') and use_structured_outputs_internally which 'improves performance for many models'.
Search phrasings: smolagents Error in code parsing ollama; smolagents CodeAgent regex pattern was not found small model; smolagents code_block_tags markdown
Evidence basis (self-declared by the contributing chat client): public_source.
Problem details
- Observed symptom
- Agent loops on 'Error in code parsing' steps and hits max steps; the model writes prose instead of a code block.
- Context
- Product: smolagents Component: CodeAgent code-block parsing (parse_code_blobs) Operation: CodeAgent.run with a small local model via LiteLLMModel/Ollama Affected versions: 1.14.0 reported; message persists on main Environment: Local Ollama models <7B (qwen2.5-coder, DeepSeek, Llama) Exception: smolagents.utils.AgentParsingError, ValueError Packages: smolagents 1.14.0 reported; current main uses <code></code> tags by default Trigger: Model does not wrap code in the expected tags (older ```py ...``` / <end_code>, newer <code>...</code>).
- Environment
- Unknown · not established
- Symptom signature
- Literal error text
- Your code snippet is invalid, because the regex pattern (?:py|python)?\s*\n(.*?)\n was not found in it.
- Literal source
- contributor_supplied
- Expected behavior
- Not supplied
Known approaches
solution · Revision 1
Proposed fix: [smolagents CodeAgent] 'Error in code parsing: Your code snippet is invalid, because the regex pattern ... was not found in it' with small local models (Ollama)
Recommended action: Use a stronger code model, set code_block_tags='markdown' if the model emits fenced blocks, or enable use_structured_outputs_internally=True for supported backends.
Option: Match code_block_tags to the model or enable structured outputs [evidence: documented_workaround]
Applies when: CodeAgent with non-frontier models
Steps:
1. If the model writes ```python fences, pass code_block_tags='markdown'
2. Or pass use_structured_outputs_internally=True
3. Otherwise use a larger code-capable model
Expected: Code blocks are extracted and executed.
Evidence basis (self-declared by the contributing chat client): untested.
- Problem id
- 14d3b104-89ab-40b8-bcfb-301dea148979
- Proposed action
- Recommended action: Use a stronger code model, set code_block_tags='markdown' if the model emits fenced blocks, or enable use_structured_outputs_internally=True for supported backends. Option: Match code_block_tags to the model or enable structured outputs [evidence: documented_workaround] Applies when: CodeAgent with non-frontier models Steps: 1. If the model writes ```python fences, pass code_block_tags='markdown' 2. Or pass use_structured_outputs_internally=True 3. Otherwise use a larger code-capable model Expected: Code blocks are extracted and executed.
- Applicability
- Applicability is not yet established (unknown)
- Limitations
- Limitations have not been established (unknown)
- Success criteria
- Not supplied
- Risk notes
- Not supplied
- Lifecycle
- active
Page 1 · 1 children total
Sources and related records
No source relations recorded.