---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/llm/transformers_js/helpers/variables/barePythonicToolCallParser.md
description: >-
  Parse a BARE pythonic call — `provide_answer(answer=“…”, sources=[“/x”])` —
  i.e. the pythonic `NAME(kwargs)` form WITHOUT the surrounding `[ … ]` list
  wrapper that [`pythonicToolCallParser`](https://adk.nht.io/api/@nhtio/adk/batteries/llm/transformers_js/helpers/variables/pythonicToolCallParser) requires. Small models (observed:
  Gemma-4 E2B via transformers.js) emit this for a single call, sometimes with a
  leading `/`, a `call:` prefix, or smart quotes in the args.
---

# Variable: barePythonicToolCallParser

```ts
const barePythonicToolCallParser: ToolCallParserFn;
```

Defined in: [src/batteries/llm/chat\_common/tool\_parsers.ts:754](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/llm/chat_common/tool_parsers.ts#L754)

Parse a BARE pythonic call — `provide_answer(answer=“…”, sources=[“/x”])` — i.e. the pythonic
`NAME(kwargs)` form WITHOUT the surrounding `[ … ]` list wrapper that [pythonicToolCallParser](pythonicToolCallParser.md)
requires. Small models (observed: Gemma-4 E2B via transformers.js) emit this for a single call,
sometimes with a leading `/`, a `call:` prefix, or smart quotes in the args.

Because the bare shape is a WEAK signal (it can resemble incidental prose like "see foo(bar)"),
this parser is gated HARD: it only claims a call whose callee is a real offered tool
(`ctx.toolNames`). That gate is what makes dropping the `[ ]` requirement safe. Runs after the
strict bracketed pythonic parser in the `'auto'` order.
