Hi Effecters!
Welcome back to This Week in Effect, your weekly update of the latest developments in the Effect community and ecosystem.
Effect is the TypeScript library for the AI era, helping developers build complex, synchronous, and asynchronous programs. One key feature that sets Effect apart is how it leverages structured concurrency to provide features such as async cancellation and safe resource management, making it easier to build robust, scalable, and efficient programs.
To get started, below you’ll find links to our documentation and our guide for installing Effect. Enjoy!
Recent major updates:
Technology
New Module of the Week post by Maxwell Brown, focusing on Cluster delivery.
Runners crash, but with Effect Cluster your messages don't need to go down with them. This week, learn how to → Choose at-most-once or at-least-once delivery → Persist messages so they survive a crash → Reply only when the work is done Module of the Week: Cluster, Part 3 ↓
Effect v4 updates.
Another busy week on main, with new modules landing alongside a steady stream of fixes across the platform packages. Here are the most notable changes.
- Additions: Added a GraphQL client and generator, a streaming tar codec in
effect/encoding,Schema.toCodecGoJson, Semantic Versioning types with range support, and custom annotation imports for JSON Schema. Also addedPath.resolveWithinfor root-contained path resolution,Hosthelpers (toFullyQualified,toRelative,parseHostsFile),NetAddress.loopbackAddresses,fromInputfunctions for the net data types, andCliOutput.displayWidth.
Native @EffectTS_ GraphQL client coming soon!
-
Cluster & workflow: Added a
detachedoption for discarded workflow executions. Failure-suspended workflows now stay parked until resumed or interrupted, suspended callers wake up when their workflow completes, and losingDurableDeferred.raceAllwaits are released once the race settles. On the cluster side, shards are now handed off one at a time on shutdown, lease-based SQL shard lock renewal was restored, and a new annotation lets cluster RPCs be interrupted on termination. Also fixed the shards gauge after shard release. -
RPC, HTTP & platform: RPC gained an
onPingTimeoutoption, and premature socket ping timeouts and connection defects that failed synchronously started requests were fixed. Added WebSocket handshake headers alongside subprotocols andservernamesupport in client TLS upgrades. FixedHttpRouterprefixes with path params breakingrequest.url, absolute HTTP URLs in opaque-origin documents, a UTF-8 BOM breaking JSON in Node HTTP text,NodeStreamhangs on premature closure, and several child process edge cases. -
SQL & persistence: Exposed TCP keepalive settings in
sql-pgand fixed released connection pins reaching the next borrower and inferred empty array binding. Fixed connection starvation in PGlite, the MSSQL error listener, the ClickHouse migrator ledger, RedisPersistedQueuedata loss on lone-surrogate payloads and fractional Redis fixed-window rate limits. Event log replication, remote SQL journal conflicts and persistence expiry checks for reused reads were also fixed. -
AI: Fixed OpenAI Responses streams not ending at
data: [DONE], web search actions without patterns, service tier and provider-nested error metadata, and reasoning replay alongside tool calls inopenai-compat. Invalid and undeclared tool calls are now returned when validation is deferred, Anthropic replies from a fallback model now decode correctly, and the Cloudflare provider can send decision images to Clef. -
Observability: Fixed several OTLP export issues: histogram overflow buckets, integers outside the int64 range,
NaNandInfinityvalues, and batches dropped when a span has a 64-bit B3 trace id. The active span is now recorded on OpenTelemetry log records, and the DevTools client reconnects after socket failures. -
Core & Schema fixes: Fixed
Durationconversions andDuration.timesfor very large or non-integer inputs,Effect.cached*under synchronous re-entrancy,Stream.timeoutending while the next chunk is pending, and atom rebuild loops from late dependency reads.Matchnow keeps the unmatched tail in array prefix patterns and rejects unknown keys in object patterns,Array.matchexposesNonEmptyArrayfor mutable arrays, andSchema.Enumpreserves literal member inference. Schema also rejects duplicate tagged union discriminants and merges colliding bounds in JSON Schema export instead of emittingallOf.
You can follow the full changelog in the effect repository.
To catch up on more updates, check out Effect v4 Updates, starting from the recently published Effect v4 RC: September 2026 Updates.
Other technical updates from the past week.
Effect Core
- Type received and forwarded HTTP request methods as open strings (Bug Fix, next-minor)
- Type Atom.Serializable encode/decode as Schema.Json (Bug Fix, next-minor)
- Support duplex additional child-process file descriptors (Feature, next-minor)
- Add an explicit maxDepth option to Context.makeUnsafe (Feature, next-minor)
- Export HttpClient.isTransientError and isTransientResponse (Feature, next-minor)
- Add pool occupancy stats to Pool, PgPool, and PgClient (Feature, next-minor)
- Add request-level dependencies to McpServer (Feature, next-minor)
- Fix(sql): load filesystem migrations from their own module (Bug Fix, next-minor)
- AI: TypeSafe images and Box questions via Decision.locate (Feature, next-minor)
- Acknowledge discarded RPC calls before running handlers (Improvement, next-minor)
- Fix(persistence): isolate stores on KeyValueStore and Redis backings (Bug Fix, next-minor)
- Fix Redis persisted queue claim ownership (Bug Fix, next-minor)
Effect AI
- AI: TypeSafe images and Box questions via Decision.locate (Feature, next-minor)
Effect Platform
- Support duplex additional child-process file descriptors (Feature, next-minor)
- Add pool occupancy stats to Pool, PgPool, and PgClient (Feature, next-minor)
- Fix(persistence): isolate stores on KeyValueStore and Redis backings (Bug Fix, next-minor)
Effect SQL
- Fix(sql): load filesystem migrations from their own module (Bug Fix, next-minor)
Community Events
-
Very few 2-day passes left for Effect Days 2026! The conference is scheduled for December 9–11 in Livorno, Italy.
I’m so happy to share that I’ve received the loveliest invitation to give a talk on @EffectTS_ day! My lawyers assured me that once my picture is on their page, revoking the invitation is actually illegal. See you there, and please only ask questions I know the answers to,
-
Effect Miami is scheduled for Nov 9. Guess who’s speaking!!
I’m beyond thrilled to announce @EffectTS_ Miami #3 — November 9 @thelabmiami - Wynwood 5:30 pm Three talks: - Harnessing AI models with Effect TS - Advanced Effect design patterns - Frontend architecture for agents and humans Guess who's speaking? (add in comments!) We’ll
-
Effect Warsaw #2 is coming up on November 17!
Effect Warsaw #2 is coming next month! 👉 Sam is going to talk about full stack effect. More talks, 🍕 and 🍻 coming too! luma.com/k5o7m2pg
-
A big thank you to the attendees, the organizers, and evryg for hosting the Effect Paris 🇫🇷 meetup this week!
@EffectTS_ Paris #7 is now live 🔥 And starting with @rodygosset explaining us how Effect is a good fit for all sizes of apps! First edition being recorded thanks to Inato folks, be ready for the replays 🎥
Thanks to @EvrygDotCom for hosting the @EffectTS_ Paris Meetup (and 🍕), and to @topheman, @rodygosset, @jbmusso, and Swann H. for the great talks! It was nice to nerd out IRL for once.
-
Effect Office Hours 🔥 every Wednesday at 10:00 AM ET / 16:00 CET on our YouTube channel.
Visit our Effect Community Events calendar and subscribe for updates on upcoming Effect events.
Community Highlights
- 📈
Every 5 times TypeScript is downloaded Effect is, that’s a lot
- Huge congrats to Expand AI – built with Effect.
Absolutely! And yes this wouldn't have been possible without Effect. Now gotta migrate to Effect 4! cc @MichaelArnaldi
- Coming soon 👀
Effect native test runner (zero dependencies) achieved internally. First class effects, layers, scopes (no "before/after" hooks), works everywhere (node, bun, browser, etc.). Agent first. @EffectTS_
- An EffectTS native ORM
Been building an @EffectTS_ native ORM for a while, and it's finally ready for some of you to try. - includes ClickHouse + Postgres - Fully typesafe - Migrations for both, and it can adopt your existing drizzle-kit migrations Still early, but it's been running @Mapledotdev in
- 💅
companies building software with @EffectTS_ are miles ahead in trust and reliability without me even looking at the code
- CAFE stack ☕️
Cloudflare x @EffectTS_ x @foldkit
Benefits of the CAFE stack (@Cloudflare + @alchemy_run + @foldkit + @EffectTS_) for building software with coding agents: 1. Agents invent less architecture. They focus on product-level execution within a well-defined architecture. You build faster, with more confidence. You
- Agreed.
basically every time i write typescript without effect i regret it and end up having to retcon that mistake
- Yep! 😎
I kinda love that people are listing “built with @EffectTS_” as a feature for their product releases. It’s fascinating to say the least.
-
CAFE news - By Joel.
-
namera - EVM smart-account wallets for AI agents. By The Namespace.
-
effect-actions - define an Effect action once and expose it over HTTP, MCP, native Toolkits, and CLIs. By gjermundgaraba.
-
effetch - schema-driven HTTP calls on top of Effect v4’s
HttpClient. By monarcode. -
effect-units - typed quantities and unit conversions for Effect, adapted from Elm’s
elm-units. By rjdellecese. -
effect-platform-chrome - Effect v4 services, RPC, and testing utilities for Chrome Manifest V3 extensions. By yotamishak.
-
effect-assistant - build chat assistants that run tools in the background and message the user back, built on Effect and
effect/ai. By dbrxnds. -
effect-views - a prototype for server-rendered HTML and schema-bound forms, built with Effect and htmx. By jpowersdev.
Effect Adoption Partner
We’re thrilled to announce Ziverge as the first Effect Adoption Partner!
Here are 3 things we're thrilled to announce, as part of our partnership with @EffectfulTech, creators of @EffectTS_ 🔥 ➡️ Ziverge will be sponsoring Effect Days ➡️ We have produced an Effect SDK for @GolemCloud ➡️ We've launched an @EffectTS_ Training Workshop Sign up for
Effect Job Opportunities
Looking for a role where you can work with Effect? We now have a dedicated Effect jobs page featuring open roles from companies that use Effect. We’ll keep it updated as new opportunities come in.
New this week: Bitfocus & Warp are hiring Effect engineers.
Explore Effect job opportunities →
Disclaimer: Please note that these job postings are shared for informational purposes, and we encourage applicants to verify details directly with the hiring companies.
Cause & Effect Podcast
Don’t forget to listen to our Cause & Effect podcast hosted by Johannes Schickling and available on YouTube, X(Twitter), and audio platforms like Spotify and Apple Podcast.
John A. De Goes, the creator of ZIO, as well as CEO of Ziverge and Golem Cloud, joins Johannes Schickling and Michael Arnaldi to discuss how AI is reshaping software engineering, what developers should still learn, and why Effect’s primitives are especially valuable for coding agents.
Effect Team Content Update
- Effect Office Hours 50 🔥
- Cluster, Workflows & Cloudflare Durable Objects
- Effect Cluster, Part 3 | Module of the Week #5
Effect Merch Store
The Effect Merch Store offers a selection of Effect-branded items designed for the community. All orders are processed and fully managed through Printful.
Effect Merch is here! We’re excited to announce the launch of our Effect merch page! Grab your favorite swag & show your love for Effect in style! 🧢 effect.website/merch
Closing Notes
That’s all for this week. Thank you for being a vital part of our community. Your feedback is highly valued as we fine-tune this format. Feel free to share your thoughts, and we’ll do our best to tailor it to the needs of our community.
Effect Community Team