What
A cursor is a bookmark a tool returns so the next request can carry on where the last one stopped.
- When older transcript events do not fit in a result, the result now tells Claude to pass
next_cursorascursorto read them, and it returns anolderCursor. Before, those events were only reported as not shown, with no way to read them. - The routines tool text for
list_runsandget_run_lognow says to pass the page'snext_cursorback ascursor, instead of "pass cursor for more". It adds thatget_run_logpages only from the newest events to older ones, and that a cursor from elsewhere is refused. - The
RemoteTriggertool'sget_run_lognow hands out cursors of the form prefix.hash.cursor, tied to thesession_id. It rejects any cursor not in that form, including cursors from older versions, typed numbers, another run's cursor and edited cursors. The error is "cursor is not in the form that get_run_log hands out for this session_id, so nothing was read." Before, the cursor was passed straight through. - The
cursorfield's description now says it is not an offset, a count or an event number.
Why
Claude can now page back through long transcripts and run logs. A get_run_log cursor that was stored earlier or built by hand now gives an error, and reading has to start again from the newest events.