Release · Fx · vercel-labs

Fx v0.0.8

What's new in Fx v0.0.8, released Sep 7, 2026 (). Newer: v0.0.14 (Oct 16, 2026)

Release notes

Fx v0.0.8

fx is smaller, simpler, and faster. libfx initialization in Node / browser is over 40× faster; fx binary is 7.49% smaller. fx uses a smaller three-action shell, context compaction is optimized per model, and Enter steers active turns instead of queuing follow-ups.

Breaking Changes
  • fx now uses a smaller shell tool with 75% fewer actions (3 vs 12), replacing the old terminal tool.
  • Enter now steers active turns instead of queuing follow-ups, and ctrl+enter does the same.
  • The subagent interface now has 67% fewer commands (2 vs 6), with direct delegation replacing the ctrl+x manager.
  • The memory tool has been removed without deleting existing saved memories.
  • createFxAgent() now exposes prompt, checkpoint, and close instead of the old session, model, and config APIs.
  • createFxAgent() now takes apiKey and an optional model directly; Agent configuration through env is no longer accepted.
  • capability_search replaces the retired skill_search and mcp_search_tools.
  • The public --record startup flag has been removed.
New Features
  • Compaction now keeps recent tool exchanges intact, preserves the full transcript, and continues the same turn in a fresh context window.

  • fx can run one-off tasks or continue named agents directly from the conversation.

  • The shell now supports up to 64 live executions.

  • /mcp now opens a terminal browser for servers, tools, resources, prompts, authentication, and project trust.

  • MCP tool images now reach supported models and remain available after resume.

  • JavaScript hosts can now add their own tools, MCP clients, and skills across Node, Bun, and browsers.

  • The libfx package has no runtime dependencies; host-supplied tools and MCP clients may have their own.

  • ACP image prompts now support up to 3.75 MiB per image.

  • /provider, /setup, and /login now open the same column picker for providers, sign-in methods, API keys, and Vercel teams.

  • libfx now provides listModels() for explicit model discovery without creating an Agent.

  • Embedding hosts can use FX_AUTH_MODE=host-managed without reading or writing local provider credentials.

  • --full-access and /permissions full-access replace YOLO in the UI and commands; the old aliases still work.

  • fx ask --json now reports input and output tokens.

  • libfx now supports both ESM imports and CommonJS require() in Node.

  • Native libfx Agents now run in Next.js 15 and 16 server routes without extra bundler configuration.

  • getBackendInfo() now reports available libfx backends and loading errors without creating an Agent.

  • fx session recover <id> can recover damaged conversations into a new session while leaving the original intact.

Improvements
  • Native Agent initialization is tens of times faster, dropping from hundreds of milliseconds to single digits.

  • Native streaming no longer waits on the polling bridge.

  • Synthetic native host-tool round trips measured 3.10 ms in Node and 1.56 ms in Bun at p95.

  • In the current benchmark, all 22 measured TUI interactions complete within 15 ms at p95 across 50 samples each.

  • CLI startup now takes about 0.5 ms before terminal initialization.

  • ctrl+o now shows timestamps, complete tool details, errors, and per-turn token usage in one view.

  • Skill and MCP searches now reject weak matches while preserving exact names and technical terms.

  • AI Gateway now uses Exa by default for web searches, with Parallel as the fallback.

  • AI Gateway caching is now enabled automatically for agent conversations.

  • New sessions use shorter 12-character IDs while existing IDs remain resumable.

  • File and model pickers remain available while fx is working, and model changes apply to the next turn.

  • Steering messages now appear in chat immediately and wait only while a tool is running.

  • Codex and Grok model lists refresh in open terminal and ACP sessions without requiring their CLIs.

  • Stable Wasm sources compile once per JavaScript realm while each Agent keeps separate state and memory.

  • MCP servers now connect independently, and optional servers start only when needed.

  • Subagent tasks and replies now appear in chat, with failures and partial results preserved.

  • The /resume picker now reuses cached session summaries instead of rescanning every time.

  • Terminal tabs now show the fx version and workspace folder.

  • libfx now pauses large streams when hosts fall behind instead of losing output.

  • ctrl+c now clears the composer first and cancels active work only when the composer is empty.

  • Long saved conversations now resume faster, including repeated fx -c continuation.

  • Scoped project instructions now refresh before continued turns, including rules changed since the last tool call.

Bug Fixes
  • Models with native image support no longer receive the redundant vision tool.

  • Terminal fx ask now loads approved MCP servers before the first model request.

  • The footer now shows Fast mode only when it matches the active model.

  • fx now keeps replies in the language of the latest user request.

  • AI Gateway requests can run for up to 30 minutes, and timed-out streams pause instead of retrying automatically.

  • Partial command output and known process status are preserved when output reading fails.

  • Forced shell termination now stops waiting after 6 seconds and reports when termination cannot be confirmed.

  • Tools that fail before execution now show why they did not run.

  • Cancelling an ACP prompt now stops the work instead of leaving it running.

  • Gateway, Codex, and Grok no longer fall back to another credential source when the selected one is unavailable.

  • New sessions remain saved when another fx process is updating session history.

  • Older sessions now upgrade without losing conversation history or tool output.

  • Explicitly requested skills now load completely and show their status before the reply begins.

  • Cancellation feedback now appears immediately after esc, while completed tool results remain intact.

  • Invalid shell requests now explain the argument problem and suggest a correction only when the repair is unambiguous.

  • Recovered responses no longer join text from separate attempts or repeat completed tool calls.

  • Provider selection remains responsive while credentials and models load, and sign-in can resume after logout, cancellation, or credential failures.

  • Large session reads no longer block concurrent saves.

  • Cancelled libfx prompts stop waiting on host tools and cannot affect later turns.

  • Native streaming preserves Unicode split across output chunks and continues after delayed cleanup.

  • Closed libfx Agents now release native threads, notification descriptors, and Wasm instances.

  • Pending MCP authentication no longer blocks a newer reload.

  • ctrl+o history now survives ctrl+l, terminal resizing, reopening, compaction, and resume without missing or duplicate entries.

  • Provider streams and parallel tool calls no longer lose or duplicate text, reasoning, and tool results.

  • Prompt images now survive tool calls and resume without falsely exhausting context.

  • Image recovery now uses saved attachments after restart, even if the original files move or change.

  • Missing or corrupt saved images now report an error without discarding the pending request.

  • Manual compaction now refreshes the selected login and keeps the conversation unchanged if sign-in fails.

  • Cancelled tools no longer prevent manual or automatic compaction, including after resume.

  • Long reasoning sessions no longer hit false context limits or leave too little room for compaction.

  • fx -c now skips incomplete sessions and reports errors for the selected session instead of opening an older conversation.

…