The v0.0.13 update brings a higher-priced inference tier and compaction controls, alongside checkpoint compatibility limits and a new shell-terminal lifecycle.
Listen
AI narration
12:34
0:00 / 12:34
AI SummaryGenerated from this article
Vercel's fx v0.0.13 adds Ultrafast, an opt-in higher-priced inference tier for supported OpenAI models through Vercel AI Gateway, alongside new context compaction controls and shell-terminal lifecycle changes. The release introduces auto_compact_percent settings ranging from 10 to 80 percent, makes new libfx checkpoints incompatible with older versions, and stops shell-tool terminals when fx exits instead of preserving them across session resumes. Maintainers report substantial performance improvements in specific operations, including up to 44× faster exit times with large usage histories, though these gains measure different parts of the workflow separately.
Vercel’s fx now lets users request faster, higher-priced inference. The upgrade also changes what survives when a coding session ends: saved conversations can resume, but terminals launched through the shell tool stop when fx exits. Developers embedding fx face a separate rollback constraint. New libfx checkpoints cannot be restored by older versions.
The fx v0.0.13 release adds Ultrafast for supported OpenAI models through Vercel AI Gateway, plus a setting for when automatic context compaction begins.
Ultrafast changes the requested inference tier. The maintainers’ reported improvements to startup, shell calls, and exits measure separate parts of the coding-agent workflow, so those speed claims need to be considered independently.
Enable Ultrafast Only Where the Higher Price Makes Sense
fx’s documentation describes Ultrafast as an opt-in mode that requests OpenAI’s higher-cost service tier through Vercel AI Gateway. It’s off by default and requires a model whose Gateway metadata advertises eligibility.
Inside an interactive session, enable it with:
/ultrafast on
For a new interactive process, use:
fx --ultrafast
A one-shot request can opt in:
fx ask --ultrafast "review this change"
These commands do not make an unsupported model eligible. Although fx supports several connection methods, including ChatGPT subscriptions and OpenAI-compatible endpoints, the documented Ultrafast route is specifically the OpenAI service tier through Vercel AI Gateway. Support for a provider elsewhere in fx does not imply support for this mode.
The release extends Ultrafast to subagents and Agent Client Protocol (ACP) sessions. Applications embedding the agent through libfx can request it through model.ultrafast. Subagents inherit the parent turn’s request, subject to capability checks and explicit disabling.
The setting has several limits:
--ultrafast and FX_ULTRAFAST=1 are process-local opt-ins, not persisted defaults.
A resumed session keeps its saved Ultrafast request unless a higher-precedence explicit disable applies.
Switching models clears an existing Ultrafast request.
Background calls, including titles, reviews, and compaction, do not use Ultrafast.
Work with Zeniteq
Let’s work together
We’re open to thoughtful collaborations with teams building in AI. Explore the ways we can work together.
To inspect or change the interactive setting, use /ultrafast status or /ultrafast off. The CLI also accepts --no-ultrafast, and FX_ULTRAFAST=0 explicitly disables it.
The ultrafast_requested field in /status and fx status --json reports that fx requested the tier. It does not prove that the provider actually served it.
The release notes identify Ultrafast as higher-priced without specifying a universal surcharge. Check pricing for the chosen model and tier before making it a default. Compare cost and elapsed time on representative tasks; faster inference will not necessarily shorten every coding job proportionally.
Choose When Automatic Compaction Starts
The update adds auto_compact_percent, with an accepted range of 10 to 80, to control when automatic context compaction begins.
Compaction reduces the conversation material carried into subsequent model requests so a long-running session can continue. Retaining more working history can help a coding agent maintain continuity, while waiting too long leaves less room for additional tool output and reasoning.
A lower threshold starts compaction earlier; a higher threshold delays it. Neither is inherently better. The choice depends on how much recent working detail a task needs when the next turn begins.
The release’s compaction changes preserve original messages and final replies where they fit, while older turns and tool results remain searchable. Searchable history is available for retrieval, but that is not equivalent to keeping every earlier result continuously in the model’s active context.
During a long refactoring session, watch whether the agent still has the decisions, constraints, and unresolved failures it needs after compaction. Tasks dominated by large command outputs may be worth evaluating with an earlier threshold.
The release establishes the supported range without recommending a universally optimal percentage. Adjust it against the behavior of your actual sessions; neither endpoint is a recommended preset.
New libfx Checkpoints Limit Your Rollback Options
The checkpoint compatibility change is asymmetric:
Existing checkpoints still load in the new version.
New libfx checkpoints cannot be restored by older versions.
The release notes therefore do not say the upgrade “breaks checkpoints” generally. The forward path remains supported. The problem arises when a newer libfx deployment creates checkpoint data and an application subsequently rolls back to an older library.
For developers embedding fx, rolling back code and restoring state are separate operations. Reverting the application does not make newly generated checkpoints readable by the older runtime.
Before upgrading, preserve pre-upgrade checkpoint copies if rollback matters. Test restoration with the library versions you actually deploy. A rollback plan needs to account for checkpoint compatibility as well as whether the old application starts.
The warning specifically names libfx checkpoints. It should not be broadened into a claim that every ordinary fx conversation becomes impossible to resume after an upgrade or downgrade.
The repository also labels fx experimental. Applications using it as an embedded component need to pay particular attention to this compatibility boundary, since saved agent state may need to outlive an individual deployment.
Resuming a Conversation No Longer Preserves Shell Terminals
Terminals launched through fx’s shell tool now stop when fx exits, instead of staying alive for the next resume.
fx still saves conversations. Its quick-start documentation describes returning to the previous conversation from the same project with:
fx -c
To choose another saved session, use:
fx -r
These restore the conversation, not the continued execution of its old shell-tool terminals.
If your workflow depended on keeping a development server, test watcher, or other terminal-hosted command running across an fx exit, review that assumption before upgrading. A terminal launched through the shell tool is now tied to the fx process that owns it.
For work that must outlive fx, arrange an independently managed process. This is operational advice, not a claim that the release introduces a new background-process manager. The documented change concerns shell-tool terminals; it does not establish that every externally managed process on the machine will terminate.
Shell startup configuration changes too. fx captures startup files once per process instead of rerunning them for every command. /shell reload refreshes that configuration, and the repository documentation says fx automatically reloads when recognized startup files change.
After changing a file sourced by those startup files, the documented manual step is /shell reload. Reloading also clears remembered command approvals, according to the release notes. Alongside the faster shell calls, users should check these configuration and permission changes.
The Speed Claims Measure Harness Work, Not Entire Coding Jobs
The fx changelog reports substantial performance gains under specific conditions.
Operation
Maintainer-reported result
Relevant condition
First-screen rendering
1.6–23× faster median rendering
Varies by terminal; sign-in and skills finish loading afterward
Shell calls
238.8 ms to 27.9 ms, up to 8.6× faster
Heavy shell startup files
Exit after a reply
1,003 ms to 23 ms, up to 44× faster
A large usage history is loading
Exit with MCP servers
20.6 ms to 7.4 ms, 2.8× faster
Matched macOS benchmark
These are maintainer-reported matched benchmarks, not independent measurements. They describe different operations, so the multipliers should not be combined into an overall coding-speed claim.
The launch result measures when the first screen renders. Sign-in and skills continue loading afterward, so it does not mean a 23× reduction in time until every subsystem is ready.
For shell calls, the implementation explanation is straightforward: expensive startup files no longer have to run for each call. Users with heavy shell configuration have a reason to investigate this change, though the published result does not predict the same improvement for a minimal shell setup.
Exit improvements reduce waiting when leaving the application. They do not establish that a model writes better code or finishes an implementation faster.
A coding task’s elapsed time includes model responses, command execution, tests, external services, and retries. In AI products that combine inference with local tools, improving one part can help without determining the duration of the whole job.
Evaluate this update in two passes: confirm that checkpoint restoration and process lifetimes match your workflow, then compare representative tasks with Ultrafast enabled and disabled. The release gives users more control over speed and context. Judge the result by whether a task finishes at an acceptable cost, with state that remains recoverable.
Frequently Asked Questions
3 questions
1
How do I enable Ultrafast in Vercel fx?
Use /ultrafast on inside an interactive session, or launch fx with --ultrafast. One-shot requests support fx ask --ultrafast. You need a supported OpenAI model through Vercel AI Gateway, and the tier costs more. A status showing ultrafast_requested confirms the request, not that the provider served it.
2
Can I restore new fx checkpoints with an older libfx version?
No. The v0.0.13 release says new libfx checkpoints cannot be restored by older versions, although existing checkpoints still load in the updated version. If your embedded application may need a rollback, preserve pre-upgrade checkpoint copies and test restoration against the actual library versions in your deployment.
3
Does resuming fx bring back its previous shell terminals?
No. Shell-tool terminals now stop when fx exits instead of remaining alive for the next resume. You can still resume a saved conversation with fx -c or select one with fx -r, but those commands do not preserve the execution of its previous shell-tool terminals.