v0.8.1 — MCP sync field normalization
What's new in v0.8.1
MCP sync field normalization
When syncing MCP servers between platforms (Claude Code → Gemini / Codex), Agent Hub now extracts only the universal core fields — command, args, and non-empty env — rather than copying the entire source config verbatim.
Why this matters:
- Codex uses
deny_unknown_fieldsin its TOML parser, so syncing Claude Code'stype:"stdio"orenv:{}caused Codex to fail to parse its config entirely - Gemini has its own optional fields (
timeout,trust,includeTools) that shouldn't be overwritten by a sync from Claude Code
Behavior:
- Target platform-specific fields (e.g.
startup_timeout_secin Codex) are preserved — sync only updates the core fields that changed - No-op detection — if nothing changed, the file is not touched at all (cleaner diffs)
Monitor fix
Fixed a bug where the agent monitor would miss turn-end notifications when the polling state was already Finished before an explicit end/done hook fired.