TanStack AI 1.0 is officially stable! 🎉
Build chat, voice, image generation, agents, and harnesses into your apps, with your choice of models, UI framework, and infrastructure.
Your AI, your way.
tanstack.com/ai
Build chat, voice, image generation, agents, and harnesses into your apps, with your choice of models, UI framework, and infrastructure.
Your AI, your way.
tanstack.com/ai
80
121
1,478
TanStack AI now allows your providers to use computer use! 🔥
- Local PC
- Sandboxed VM's
- Playwright browsers
Plug it into chat and run computers in any of our sandbox providers we support!
- Local PC
- Sandboxed VM's
- Playwright browsers
Plug it into chat and run computers in any of our sandbox providers we support!
20
24
460
TanStack Hotkeys is now in Beta!
Setting up keyboard shortcuts correctly with all edge-cases handled can be surprisingly complex. We're trying to help you handle those edge-cases by default and give you confidence with Type-safety.
Also, check out the new Hotkey scopes feature!
Setting up keyboard shortcuts correctly with all edge-cases handled can be surprisingly complex. We're trying to help you handle those edge-cases by default and give you confidence with Type-safety.
Also, check out the new Hotkey scopes feature!
7
20
236
TanStack Start 1.0 is officially stable! 🎉
A full-stack web framework for React and Solid, already used to build millions of apps, from Fortune 500 companies to your favorite tools and weekend projects.
tanstack.com/start
A full-stack web framework for React and Solid, already used to build millions of apps, from Fortune 500 companies to your favorite tools and weekend projects.
tanstack.com/start
166
599
4,353
The opportunity nowadays to hire top <1% talent is impossibly slim, and Corbin would be a steal. Don’t pass it up.
I am looking for my next career opportunity!
I'm Corbin Crutchley; an engineering leader, consultant, author, and open-source maintainer.
Previously as a VP of Eng, I've sped up engineering efforts for companies. My teams rework large-scale systems while building new features at the same time.
You may also know of my OSS projects (@tan_stack & others) or my books (@playful_program).
Roles I'm looking for:
- CTO / VP of Engineering for small/medium companies
- Staff+ Engineering roles, esp developer tooling
- Consulting gigs
Likewise, if your project is particularly challenging and / or complex, let's talk.
Know of a good role for me? Book some time on my website or reach out in direct messages:
corbincrutchley.com
3
7
43
TanStack Charts 1.0 is here 🎉
Small bundles, fast updates, and charts you don’t have to outgrow.
Start with a line and see where it takes you, or just simply tell your agent to "use Tanstack Charts"!
tanstack.com/charts
Small bundles, fast updates, and charts you don’t have to outgrow.
Start with a line and see where it takes you, or just simply tell your agent to "use Tanstack Charts"!
tanstack.com/charts
40
155
2,083
TanStack Pacer now has all of these adapters!
Introducing Vue Pacer, Svelte Pacer, Ember Pacer, Octane Pacer, Lit Pacer, and Alpine Pacer.
We would love you to help try them out while they are still in beta.
Introducing Vue Pacer, Svelte Pacer, Ember Pacer, Octane Pacer, Lit Pacer, and Alpine Pacer.
We would love you to help try them out while they are still in beta.
2
5
106
TanStack Markdown + Highlight 1.0 🏝️
Ship only the syntax, languages, and features users need with balanced flexibility, power and speed. Small enough to ship to the client and 1 less reason for server components 🤷♂️
Enjoy!
tanstack.com/markdown
tanstack.com/highlight
Ship only the syntax, languages, and features users need with balanced flexibility, power and speed. Small enough to ship to the client and 1 less reason for server components 🤷♂️
Enjoy!
tanstack.com/markdown
tanstack.com/highlight
13
32
407
Stop rewriting your tools for MCP.
TanStack AI createMCPServer takes the toolDefinition you already pass to chat() and serves it over MCP.
TanStack Start, Workers, Deno, Bun, Node.
Pass it to the MCP client counter-part for full typesafety.
TanStack AI createMCPServer takes the toolDefinition you already pass to chat() and serves it over MCP.
TanStack Start, Workers, Deno, Bun, Node.
Pass it to the MCP client counter-part for full typesafety.
18
17
261
TanStack AI now has subagents 🤖
Define agents once, pass them to chat(), and each one streams its own card in your UI.
Jev routes every message to the right agents, in parallel or in order⚡
Define agents once, pass them to chat(), and each one streams its own card in your UI.
Jev routes every message to the right agents, in parallel or in order⚡
16
17
268
🎉 To no one's surprise, Jev support just landed in TanStack AI via `decide()`, our new API for typed choices, scores, and booleans.
We're excited to use this new API with more models soon, but for now the "jevolution" is in full swing!
Jev on, ya'll.
We're excited to use this new API with more models soon, but for now the "jevolution" is in full swing!
Jev on, ya'll.
16
31
665
Generate dynamic worlds with TanStack AI! 🌎
Use the new generateWorld function and generate worlds with realtime edits.
Check the docs here:
tanstack.com/ai/latest/docs…
Use the new generateWorld function and generate worlds with realtime edits.
Check the docs here:
tanstack.com/ai/latest/docs…
11
7
152
We officially support @remix_run v3 as a TanStack AI adapter!
Same API you already know: createChat in a clientEntry island, typed tool components, working example included.
npm i @tanstack/ai-remix
Same API you already know: createChat in a clientEntry island, typed tool components, working example included.
npm i @tanstack/ai-remix
3
5
96
🎉 Celebrating 6 months of partnership with @Railway by making the TanStack Start -> Railway path even better with faster prompt-to-prod, and an end-to-end experience on sandboxes.
Start here! 👇
docs.railway.com/guides/tanstac…
Start here! 👇
docs.railway.com/guides/tanstac…
3
4
113
🚨 New partner alert!
🚀 @render and TanStack are joining forces to help you ship better, faster apps with zero ops. Whether that's your first user or your billionth, Render has everything you'll ever need to get to production.
Start building now 👇
tanstack.com/partners/render
🚀 @render and TanStack are joining forces to help you ship better, faster apps with zero ops. Whether that's your first user or your billionth, Render has everything you'll ever need to get to production.
Start building now 👇
tanstack.com/partners/render
4
14
313
TanStack AI now supports Cloudflare as an official adapter!
Connect to your gateway via bindings, api key or expose it to the OpenAI adapter directly!
npm i @tanstack/ai-cloudflare
Connect to your gateway via bindings, api key or expose it to the OpenAI adapter directly!
npm i @tanstack/ai-cloudflare
13
14
267
🏝️ + ▲ = 🚀
TanStack and @vercel are officially teaming up!
We’re working together to make Vercel a first-class home for TanStack Start with better support for deploying and running anything you can dream up with TanStack on Vercel.
Start here! 👇
vercel.com/kb/guide/deplo…
TanStack and @vercel are officially teaming up!
We’re working together to make Vercel a first-class home for TanStack Start with better support for deploying and running anything you can dream up with TanStack on Vercel.
Start here! 👇
vercel.com/kb/guide/deplo…
108
147
2,416
Your chat options are now your UI types. 🔥
TanStack AI ships with headless UI kits!
Every tool, part and interrupt widget completely typesafe. Forget a component and it won't compile.
React, Solid, Vue, Svelte, Angular, Preact, Octane.
Check it out 👇
TanStack AI ships with headless UI kits!
Every tool, part and interrupt widget completely typesafe. Forget a component and it won't compile.
React, Solid, Vue, Svelte, Angular, Preact, Octane.
Check it out 👇
5
5
190
Your context window is fixed. Your chat is not. 📉
TanStack AI shrinks what the model sees and leaves your transcript alone allowing for infinite compacting chats.
You pick your compaction strategy!
npm i @tanstack/ai-compaction
TanStack AI shrinks what the model sees and leaves your transcript alone allowing for infinite compacting chats.
You pick your compaction strategy!
npm i @tanstack/ai-compaction
15
11
279
Pasting every skill into the system prompt is a tax you pay on every request. 💸
withSkills() ships a one-line catalog instead. The model reads it, calls load_skill, and pulls the full instructions only when the task needs them.
Works with any provider.
withSkills() ships a one-line catalog instead. The model reads it, calls load_skill, and pulls the full instructions only when the task needs them.
Works with any provider.
14
9
230
TanStack AI now supports @Lovable AI Gateway. 🔑
Six modalities, one adapter shape:
chat → lovableText
image → lovableImage
video → lovableVideo
embed → lovableEmbedding
speech → lovableSpeech
transcribe → lovableTranscription
npm i @tanstack/ai-lovable
Six modalities, one adapter shape:
chat → lovableText
image → lovableImage
video → lovableVideo
embed → lovableEmbedding
speech → lovableSpeech
transcribe → lovableTranscription
npm i @tanstack/ai-lovable
3
8
83
Stop paying for your users' tokens. 💸
Headless BYOK just landed in TanStack AI: users bring their own API key, it never touches your server, and 15 provider adapters got a /byok entry in one pass.
Two calls to wire up. 🔑
Headless BYOK just landed in TanStack AI: users bring their own API key, it never touches your server, and 15 provider adapters got a /byok entry in one pass.
Two calls to wire up. 🔑
12
19
306
TanStack AI now has first-party generic interrupts. 🔥
The server can stop a run and ask the user for typed data, no fake tool call, no hand-wired resume.
One definition types the payload going out and the answer coming back.
Four boundaries:
- beforeModel
- afterModel
- ls
The server can stop a run and ask the user for typed data, no fake tool call, no hand-wired resume.
One definition types the payload going out and the answer coming back.
Four boundaries:
- beforeModel
- afterModel
- ls
3
9
135
WebSockets just landed in TanStack AI. 🚀
One socket for the whole conversation.
Full-duplex. And if it drops mid-stream, the client reopens at the last offset and replays only the gap, no second model call.
Works on Node (`ws`) and Cloudflare (`toWebSocketResponse`)
One socket for the whole conversation.
Full-duplex. And if it drops mid-stream, the client reopens at the last offset and replays only the gap, no second model call.
Works on Node (`ws`) and Cloudflare (`toWebSocketResponse`)
6
26
374
TanStack AI now honors structured outputs on agent harnesses. 🚀
Fully typesafe agent harness work end-to-end is here.
Try it out today!
Fully typesafe agent harness work end-to-end is here.
Try it out today!
9
8
171
TanStack AI officially added the ByteDance adapter! 🚀
Generate videos with Seedance 2.5 today.
Check out what we generated through TanStack AI below:
Generate videos with Seedance 2.5 today.
Check out what we generated through TanStack AI below:
7
10
124
TanStack AI officially supports Vercel AI Gateway.
Stream with the same chat() API, keep full type safety.
Install:
npm i @tanstack/ai-vercel-gateway
Stream with the same chat() API, keep full type safety.
Install:
npm i @tanstack/ai-vercel-gateway
7
4
122
You might've seen recently that @Docker released support for microVM sandboxes for agents.
We just shipped an adapter for it directly in TanStack AI!
Run your agents inside of Docker Sandboxes with TanStack AI today.
We just shipped an adapter for it directly in TanStack AI!
Run your agents inside of Docker Sandboxes with TanStack AI today.
9
10
342
Still leaving TanStack AI to embed and rerank? 🤔
Not anymore. Both are first-class activities now. Fuse text + image into one vector. Rerank your own objects, get them back typed.
Two new Code Mode isolates landed too: QuickJS on Bun, Daytona.
Not anymore. Both are first-class activities now. Fuse text + image into one vector. Rerank your own objects, get them back typed.
Two new Code Mode isolates landed too: QuickJS on Bun, Daytona.
5
6
93
We'll be live shortly to talk about TanStack Table V9 youtube.com/watch?v=zz9ASs…
0
5
31
Approvals were custom events. Not anymore. 🔀
Interrupts in TanStack AI got rebuilt on AG-UI. Bound items, typed originalArgs, and decisions that can carry data
tanstack.com/ai/latest/docs…
Interrupts in TanStack AI got rebuilt on AG-UI. Bound items, typed originalArgs, and decisions that can carry data
tanstack.com/ai/latest/docs…
0
3
28
It forgot your name. Again. 🧠
Server-side memory landed in TanStack AI.
One middleware, two verbs: recall pulls what matters into the prompt before the model, save persists the finished turn after the stream.
Injected memories shown in devtools.
tanstack.com/ai/latest/docs…
Server-side memory landed in TanStack AI.
One middleware, two verbs: recall pulls what matters into the prompt before the model, save persists the finished turn after the stream.
Injected memories shown in devtools.
tanstack.com/ai/latest/docs…
2
1
26
Durable sandbox runs in TanStack AI. 🔁
A disconnect now detaches the run instead of killing the sandbox.
The agent writes to a journal inside the box, and a later request picks up at the exact byte.
tanstack.com/ai/latest/docs…
A disconnect now detaches the run instead of killing the sandbox.
The agent writes to a journal inside the box, and a later request picks up at the exact byte.
tanstack.com/ai/latest/docs…
1
2
31
Four minutes into a video render. Someone hits reload. 🎬
Generation persistence in TanStack AI:
The run is recorded, and a reload repaints status, result and error like the run just finished.
tanstack.com/ai/latest/docs…
Generation persistence in TanStack AI:
The run is recorded, and a reload repaints status, result and error like the run just finished.
tanstack.com/ai/latest/docs…
1
4
43
Reload the page mid-answer. The reply keeps streaming. 🔁
Durable chat just landed in TanStack AI.
One middleware on the server, one option on the client, and a refresh restores the transcript and rejoins the run that's still going.
Docs: tanstack.com/ai/latest/docs…
Durable chat just landed in TanStack AI.
One middleware on the server, one option on the client, and a refresh restores the transcript and rejoins the run that's still going.
Docs: tanstack.com/ai/latest/docs…
1
4
76
TanStack Table V9 is shipping with a record number of framework adapters from us, with refreshed support for React, Vue, Angular, Solid, Svelte, and Lit, but also brand new support for Preact, Octane, Ember, and Alpine.
2
3
75
🌴Announcing TanStack Table V9🌴
Now Stable!
After more than two years of development, TanStack Table V9 lays a new foundation for years to come, with a tree-shakable plugin architecture, state management powered by TanStack Store, new features, major performance improvements, and more.
Now Stable!
After more than two years of development, TanStack Table V9 lays a new foundation for years to come, with a tree-shakable plugin architecture, state management powered by TanStack Store, new features, major performance improvements, and more.
27
98
1,152
TanStack Devtools now officially support rspack! 🚀
And you can also make your trigger a floating bubble which you can move across your screen!
Or just play with it and throw it around!
And you can also make your trigger a floating bubble which you can move across your screen!
Or just play with it and throw it around!
5
15
153
Want to queue up messages to your LLM provider?
TanStack AI's useChat now queues it and auto-sends when the stream settles.
Pick between FIFO, batch, or interrupt queues. 🚀
TanStack AI's useChat now queues it and auto-sends when the stream settles.
Pick between FIFO, batch, or interrupt queues. 🚀
4
8
201
We're starting to add adapters for even more JavaScript frameworks and libraries. In the past couple of weeks, we've introduced our first Alpine JS, Marko, and Ember JS adapters.
All thanks to community contributions!
All thanks to community contributions!
When TanStack Table V9 launches as stable (really soon™), it will be offering a record number of adapters.
Preact, Ember, and Alpine are new! And we're also still exploring potential Marko and Qwik V2 adapters.
Writing our libraries in 95%+ vanilla JS makes this maintainable.
6
9
264
Adding voice messages to your AI chat app? 🎙️
useAudioRecorder() → record → get a ready-to-send audio part. That's it.
One API across React, Vue, Solid, Svelte & Angular.
useAudioRecorder() → record → get a ready-to-send audio part. That's it.
One API across React, Vue, Solid, Svelte & Angular.
8
31
591
TanStack AI runs coding agents in a sandbox now 📦
Agents: Grok build, Claude Code, Codex, OpenCode, or any ACP agent
Sandboxes: Cloudflare, Docker, Local, Daytona or Vercel sandboxes
Fully configurable sandboxes with skills, mcps and more! 🚀
tanstack.com/blog/run-codin…
Agents: Grok build, Claude Code, Codex, OpenCode, or any ACP agent
Sandboxes: Cloudflare, Docker, Local, Daytona or Vercel sandboxes
Fully configurable sandboxes with skills, mcps and more! 🚀
tanstack.com/blog/run-codin…
18
25
418
Our NPM Stats product just got a massive upgrade.
📊 Snapshot + Timeline modes
▶️ playback/scrubbing
🔍 timeline zoom scrubber
🖼️ SVG/PNG/JPEG export
🎞️ GIF/WebM export
🏷️ custom series labels
📚 stacked/area/stream/bar modes
↔️ horizontal resizing
📊 Snapshot + Timeline modes
▶️ playback/scrubbing
🔍 timeline zoom scrubber
🖼️ SVG/PNG/JPEG export
🎞️ GIF/WebM export
🏷️ custom series labels
📚 stacked/area/stream/bar modes
↔️ horizontal resizing
9
10
247
MCP tools have only ever returned text for the model to read.
Now they return interactive UI. 🪄
TanStack AI's new MCP Apps support renders ui:// widgets right in the chat - static or fully interactive, with a client/server bridge.
Now they return interactive UI. 🪄
TanStack AI's new MCP Apps support renders ui:// widgets right in the chat - static or fully interactive, with a client/server bridge.
32
59
941
How do you trace an AI image or video call generation?
Same way you trace chat.
You already wrote otelMiddleware() for chat.
Drop the same value into media generation hooks and
get full tracability.
No new API required. 🔭
Same way you trace chat.
You already wrote otelMiddleware() for chat.
Drop the same value into media generation hooks and
get full tracability.
No new API required. 🔭
2
6
153
TanStack AI 🤝Angular
Today we have released an official @angular adapter for TanStack AI! 🚀
Try it out in your Angular apps today and find the docs here:
tanstack.com/ai/latest/docs…
Today we have released an official @angular adapter for TanStack AI! 🚀
Try it out in your Angular apps today and find the docs here:
tanstack.com/ai/latest/docs…
6
5
96
TanStack AI is now in Beta!
TanStack AI is no longer just a text-generation library with extras bolted on. TanStack AI has first-class dev experience for:
✅ Text and Streaming Structured Data
✅ Tool Calls
✅ Summarization
✅ Image Generation
✅ Video Generation
✅ Audio oice chat
✅ Middleware
✅ Lazy tool discovery
✅ Code Mode
✅ Host-side MCP
✅ Orchestration (still experimental)
✅ Pluggable debug logging
✅ Isomorphic devtools
All with per-model type-safety that actually matters!
TanStack AI is no longer just a text-generation library with extras bolted on. TanStack AI has first-class dev experience for:
✅ Text and Streaming Structured Data
✅ Tool Calls
✅ Summarization
✅ Image Generation
✅ Video Generation
✅ Audio oice chat
✅ Middleware
✅ Lazy tool discovery
✅ Code Mode
✅ Host-side MCP
✅ Orchestration (still experimental)
✅ Pluggable debug logging
✅ Isomorphic devtools
All with per-model type-safety that actually matters!
June 11th.
33
58
845
A lot of these improvements were directly inspired by TanStack Form.
Here's the full blog post giving some of the backstory on the development of V9 up until this point: tanstack.com/blog/tanstack-…
Here's the full blog post giving some of the backstory on the development of V9 up until this point: tanstack.com/blog/tanstack-…
1
0
49
TanStack Table V9 is now in Beta!
A foundational release that introduces:
✅ State management with TanStack Store - (yes, compatible with React Compiler finally)
✅ Advanced re-render management with state subscriptions
✅ Lower memory usage at scale
✅ Tree-shakable features er feature/plugin extensibility
✅ New utilities for writing re-usable/composable code
✅ Rewritten devtools and debugging options
TanStack Table V9 is available for the latest versions of React, Preact, Angular, Solid, Vue, Svelte, and Lit.
Read the full blog post down below 👇
A foundational release that introduces:
✅ State management with TanStack Store - (yes, compatible with React Compiler finally)
✅ Advanced re-render management with state subscriptions
✅ Lower memory usage at scale
✅ Tree-shakable features er feature/plugin extensibility
✅ New utilities for writing re-usable/composable code
✅ Rewritten devtools and debugging options
TanStack Table V9 is available for the latest versions of React, Preact, Angular, Solid, Vue, Svelte, and Lit.
Read the full blog post down below 👇
28
53
977
















