Skip to content
ChatJS
Esc
↑↓navigate↵open⌘Jpreview
On this page

Execution & Recovery

Understand creation, streaming, reconnecting, and cancellation

ChatJS uses EVE to execute conversations and recover their durable state. The browser connects through the authenticated ChatJS gateway. Your app does not need the separate Redis resumable-stream recipe used by standalone AI SDK applications.

Starting a conversation

For a new conversation, the composer records a durable creation request before asking ChatJS to create the EVE session. The page then navigates to /chat/:id. If the request is interrupted, the retained request can recover or retry. An uncertain network response does not establish whether creation succeeded.

Streaming and reconnecting

EVE owns the transcript, execution state, approvals, and stream position. When you reopen a chat, ChatJS reconnects and restores those messages and execution state. Application records supply the sidebar, ownership, and other installed app capabilities without mirroring the native transcript.

Changing the selected branch changes the path you view. Other active parallel responses can continue streaming. See Conversations for branches and response groups.

Stopping execution

Use the stop control for the selected running response to request cancellation. Each parallel response has its own execution and stop control. Stopping one does not stop the other responses in the group.

Cancellation is an asynchronous command. The interface tracks a pending stop rather than treating a button click as proof that execution has stopped.

Interrupted commands

The conversation interface retains recovery state for unconfirmed creation and delivery. Use the recovery controls to retry or recover the saved operation rather than starting a second conversation to replace an uncertain result.

Tools and infrastructure

Tool Calls & Approvals describes execution that waits for your decision. Sandboxes explains ephemeral code execution and persistent session files. Architecture describes runtime and application ownership.

Last updated on Nov 8, 2026

Was this page helpful?