# Oh My Pi v17.3.8: compaction hardening, permission query handling, Qwen thinking effort fix

> A maintenance release across pi-agent-core and pi-ai fixing compaction bugs (resurrected turns, prompt-injection vector in summarization, input size bounding), Cursor agent permission-query stalls, Qwen local-model thinking effort selection, and several provider-specific protocol incompatibilities (OpenCode Go message ordering, Z.AI GLM tool results, Cloud Code Assist Gemini thinking level).

| | |
|---|---|
| **Tool** | Oh My Pi |
| **Version** | v17.3.8 |
| **Kind** | release |
| **Published** | 2026-08-19 |
| **Observed** | 2026-08-21 |
| **Significance** | 2/5 |
| **Breaking** | no |
| **Categories** | fix, security |

## What changed


**@oh-my-pi/pi-agent-core**
- `/compact` no longer resurrects pre-`/clear` turns: `prepareCompaction` now honors the latest `reset_boundary`
- Compaction summarization hardened against prompt injection: conversation history and previous summaries treated as untrusted, embedded `<conversation>`/`<previous-summary>` tags neutralized
- Compaction input bounded to summary model's context via windowed fold; context-overflow 400s no longer retried against full budget
- Remote compaction message ordering fixed for opencode-go gateways: assistant messages wedged between tool-call batch and outputs are now hoisted ahead of the batch

**@oh-my-pi/pi-ai**
- Gemini thought summaries no longer leak raw fence delimiters into reasoning display or transcripts
- OpenCode Go login prompt now correctly names OpenCode Go (not "OpenCode Zen")
- Anthropic-compatible endpoints with strict validation (e.g. Z.AI GLM) now accept empty successful `tool_result` blocks encoded as `content: ""` instead of `content: []`
- `retry.usageReservePct` now correctly observes Claude Fable/Mythos weekly tier usage
- Cursor agent streams no longer stall on `interaction_query` permission frames: hosted search/fetch approved, unnamed permission fields answered, unservable prompts rejected
- Thinking effort selections now apply to local Qwen 3.8+ models on llama.cpp and vLLM via `reasoning_effort` kwarg
- OpenAI Completions, Amazon Bedrock, and Cursor providers now respect `onPayload` replacement payloads
- Codex unentitled-model denials classified as account-policy errors for credential rotation
- Perplexity email-OTP login fixed for renamed `challenge_token` field
- Cloud Code Assist Gemini requests at `minimal` now send `thinkingLevel: LOW` instead of `MINIMAL`
- Flattened array argument paths (e.g. Gemini's `questions[0].id`) are now rebuilt into nested arrays
- opencode-go turn ordering fixed for trailing text/thinking blocks after tool calls


## Sources

- [github_release](https://github.com/can1357/oh-my-pi/releases/tag/v17.3.8) — retrieved 2026-08-21


## Community

_No curated reactions recorded. Facts and community takes are kept in separate layers
and never blended._

---
Canonical: https://changelogs.info/oh-my-pi/v17-3-8
Entity: https://changelogs.info/oh-my-pi
Event ID: `evt_2026-08-19_oh-my-pi_v17-3-8`
Licence: event synthesis © changelogs.info, CC BY 4.0. Linked sources belong to their vendors.
