Skip to content
Ironflow is pre-1.0: APIs can change between releases. Pin a version. What is ready →

Ironflow Desktop v0.18.0

Ironflow Desktop v0.18.0 loads your installed Claude plugin skills, remembers Bash permission decisions per workspace so an exploratory turn no longer stacks a dozen modals, and reports real context usage for both engines.

  • Claude plugin skills as a fourth skill source, read from Claude’s installed_plugins.json ledger. Skills keep their native namespace:skill names, so two plugins can both ship review. Inclusion is behind an app-level toggle that is off by default, and only skills/ is ever read — never a plugin’s hooks, agents or MCP config (#2242, #2246)
  • Remembered Bash permission decisions, scoped per workspace. Approving a command stores a rule keyed by program plus subcommand — git show --stat <sha> keys as git show, so it cannot also allow git push. Settings → Agent lists and clears them (#2244)
  • Expand-all and collapse-all in the file tree, with folder state persisted per workspace across page switches (#2241)
  • The active thinking level now shows in the agent target trigger (#2239)
  • Markdown and code views for files, with the file name visible in the header (#2243)
  • Turn stats read the runtime’s own context window instead of a fixed assumption, so the Usage figure matches what the engine actually reports (#2240)
  • Agent skill visibility settings are grouped together in Settings (#2246)
  • A /name args turn now reaches Claude Code unexpanded, letting Claude resolve its own slash grammar. Skills marked disable-model-invocation previously died in an apology, because the rewritten prose named a skill the model could not see (#2243)
  • Codex context usage is accurate: event_msg envelopes are unwrapped before translation, limits are recovered from persisted rollouts when exec JSON omits token_count, and a percentage is no longer fabricated when Codex reports no prompt size (#2240)
  • Sandboxed macOS Codex runs use the system shell (#2238)
  • The composer picker no longer flashes on every keystroke. The caret-at-end gate compared React state against assistant-ui’s store, and the two commit in different renders (#2246)
  • Plugin skill resolution is rooted at the workspace again, and a malformed ledger entry is reported as a skipped diagnostic instead of failing the lookup. Plugins that ship no skills/ directory — most of them — are skipped silently rather than filling the Skills page (#2246)

Download the latest release