Skip to content

Roadmap ​

What works today, what's coming, and what deliberately isn't. For when something landed, see the changelog; hit a gap, or one not listed here? File an issue — compatibility reports are the most useful feedback we get.

What's supported ​

Measured against the LangGraph CLI and LangGraph Platform, since skein-js is a drop-in for the first and an open alternative to the second.

CLI and runtimes

CapabilityStatusNotes
dev / up / build / dockerfile✅Drop-in, plus skein-only start and import-langgraph. Details
Project scaffolding✅npm create skein-js@latest — no LangGraph Platform equivalent. Details
Node 24 production runtime✅Default production image and fallback
Bun / Deno production runtimes⚠️ previewFetch launchers and images ship; clean-artifact matrices must graduate each
Express · Fastify · NestJS · Next.js · Fetch✅Standalone or embedded in an app you already run. Details
Embed a graph in code, no CLI✅Details
A graph as a plain endpoint✅POST /invoke/:graph_id. Details

Protocol surface

CapabilityStatusNotes
Assistants / threads / runs / store✅Routes and request bodies, guarded against SDK drift
Assistants CRUD + versioning✅Version history and rollback; graph/subgraph introspection. Details
Streaming, incl. true events mode✅Real streamEvents v2. Details
Human-in-the-loop (interrupt / resume)✅Via LangGraph checkpointers. Details
Time travel — fork from a checkpoint✅Read, update and run from any prior checkpoint. Details
Multitask / double-texting✅All four strategies, correct across instances. Details
Stateless + batch runs, thread count/prune✅POST /runs, /runs/batch, /runs/cancel
Auth + authorization✅LangGraph Auth parity, ownership filters in the driver query. Details
Run-completion webhooks✅Durable, signed, retried, replayable. No LangGraph Platform equivalent. Details
http.disable_* flags · GET /info✅/ok stays outside the table, so no flag can break the probe
Idempotent run creation✅No LangGraph Platform equivalent. Details
MCP endpoint (/mcp)🗺️LangGraph exposes graphs as MCP tools; not yet built
Generative UI (/ui/{agent})🗺️Needs a ui config block, a bundler and asset serving
/docs OpenAPI page🗺️LangGraph serves one; skein dev links the published docs instead

Storage, scale and operations

CapabilityStatusNotes
In-memory (dev) · Postgres + pgvector✅Details
Bring your own store (store.adapter)✅Details
Store TTL · filter · namespace traversal✅Details
Thread TTL✅Past LangGraph OSS, which drops ttl on the floor
Multi-instance✅Atomic create guard, cross-instance cancel, per-thread execution claim. Details
Cron / scheduled runs✅Full Crons resource + scheduler, every driver. Details
Observability✅LangSmith, PostHog, OpenTelemetry. Details
Console / Studio equivalent✅Self-hosted at /console — no account, no tunnel. Details
Workflows & channels✅LangGraph workflows between authenticated sources and durable, allowlisted destinations. Details

Planned ​

  • 🗺️ MCP endpoint, generative UI, /docs OpenAPI page — the LangGraph parity backlog above, in priority order.
  • 🗺️ Per-thread partitioned dispatch. A run waiting on a busy thread's execution claim still holds a worker slot. Purely about utilization — the claim already makes ordering safe.
  • 🗺️ POST /runs/search — cross-thread run search; today runs list per thread.

Non-goals ​

  • ❌ WebSocket transport. SSE covers the client UX and doesn't affect the React SDK.
  • ❌ skein deploy to a hosted platform. Self-hosted by design; there's no managed target.
  • ❌ Sub-minute cron schedules. A 5-field expression can't express them, and accepting a 6-field one would run a schedule at a different time than its author's crontab says.
  • ❌ Backfilling missed cron occurrences. A cron due during an outage fires once on return and resyncs rather than replaying the backlog. Details.