Following up on my previous post about the GPT-OSS template, here is an updated chat template for Poolside's Laguna models (XS and S 2.1). The main reason I ended up putting this together was inconsistent reasoning. By default, the model is supposed to decide when to think on its own, but in practice it's pretty lazy - especially the XS variant - and often skips thinking right when it needs it most. When these models do think, they do so well. All in all, a good models to have around. Also they write well in English (to my non-native eye, at least). Laguna XS 2.1 in particular deserves more attention, IMO. What I like about these models is that allow toggling reasoning mid-conversation without invalidating the prefix cache. Very handy. I added a force_thinking toggle (using the prompt trick discovered by u/SnooPaintings8639) to make it think on every turn, plus a reasoning_effort parameter (none, auto, max) if you prefer an easy preset over juggling booleans (and to make it easier to use in Pi and, possibly, other harnesses). I have fixed some other things along the way. Firstly, the preserve_thinking toggle. The original template permanently forces historical reasoning preservation on. That's great for prefix cache and agentic tool loops, but if you're just having a normal chat, dragging thousands of past reasoning tokens around shreds your context window fast. You can now turn it off. Secondly, I added basic validation to catch smuggled control tokens across roles (can be turned off via allow_injection: true). By default, all settings match the upstream behavior (enable_thinking=true, preserve_thinking=true, force_thinking=false), so it acts as a direct drop-in replacement if you don't want to mess with the new knobs. Template repo: https://huggingface.co/arbv/laguna-2.1-fixed-jinja-template I also included some recommended sampling settings for llama.cpp (BF16 and quantised) and a config snippet for Pi (models.json) in the README. P.S. Also casting u/matthiasgalle (the Laguna post-train lead) to take a look and for a data point.   submitted by   /u/arbv [link]   [comments]