SpecStory CLI 2.16 adds Cursor Cloud Agents, the agents Cursor runs on its own servers, started from cursor.com/agents, Slack, GitHub, Linear or the Cloud Agents API. Their sessions now land in your project as markdown, and can sync to SpecStory Cloud, just like your Claude Code and Codex sessions.
SpecStory CLI 2.16 adds Cursor Cloud Agents, the agents Cursor runs on its own servers, started from cursor.com/agents, Slack, GitHub, Linear or the Cloud Agents API. Their sessions now land in your project as markdown, and can sync to SpecStory Cloud, just like your Claude Code and Codex sessions.
Slide text
Cursor Cloud Agent sessions, saved as markdown.
SpecStory CLI 2.16 reads the agents Cursor runs on its own servers for your repository and writes their sessions into your project.
Cursor doesn't write these sessions to your machine, so SpecStory reads them from the Cursor API with your API key. Set the CURSOR_API_KEY environment variable, or put the key in your user config file, rather than a project config, which anyone with the project can read. Agents are then matched to your project by its git origin.
Slide text
Bring your own Cursor API key.
Cursor doesn't write cloud agent sessions to your machine, so SpecStory reads them from the Cursor API.
Environment variable
CURSOR_API_KEY
Takes precedence over the config file.
~/.specstory/cli/config.toml
[providers]
cursor_api_key = "crsr_..."
Use your user config. A project config is readable by anyone who can read the project.
Agents are matched to your project by its git origin
SpecStory CLIv2.16.0
Each cloud agent session becomes an ordinary SpecStory history file. It opens with the prompt. Then come the agent's turns, with its thinking and every tool call, the command it ran and what came back. It's the same markdown SpecStory writes for your local agents.
Slide text
Every cloud session becomes a history file.
The prompt, the agent's thinking, and each tool call with its result.
There's one limit to plan around. The Cursor API serves a run's full transcript, tool calls included, for only 24 hours after the run finishes. After that, it returns the conversation text alone. So run specstory sync at least once a day, or leave specstory watch running.
Slide text
Cursor serves full transcripts for 24 hours.
Run finishes → 24 h
Full transcriptMessages, tool calls and their output
After 24 h
Conversation text onlyThe tool calls are gone from the API
Run specstory sync at least every 24 hours, or keep specstory watch running.
SpecStory CLIv2.16.0
SpecStory keeps its own copy of every cloud transcript in a cursor cloud folder inside your project. Leave it in place. Without it, a run older than 24 hours can only be rebuilt from its conversation text. The copies are unredacted, so SpecStory adds a .gitignore file there to keep them out of git.
Slide text
Keep the cursorcloud folder.
It is SpecStory's own copy of each Cloud Agent transcript, tool calls included.
Move it with cursorcloud_mirror_dir in ~/.specstory/cli/config.toml.
# Raw Cursor Cloud Agent transcripts mirrored by SpecStory; unredacted, so never committed.
*
SpecStory CLIv2.16.0
Resume works in both directions. A Cursor Cloud session can be resumed into another agent. Resumed back into Cursor Cloud, it reopens the same agent. Any other agent's session starts a new cloud agent, seeded with the session so far, and that's a new paid run. A session over a million characters is too large to resume there.
Slide text
Resume into Cursor Cloud, or out of it.
With specstory resume.
Cursor Cloud session
→
Another agent
Continues in that agent
Cursor Cloud session
→
Cursor Cloud
Reopens the same agent
Any other session
→
Cursor Cloud
Starts a new cloud agent, seeded with the session so far A new paid run · up to 1,000,000 characters
SpecStory CLIv2.16.0
You can also start one from the terminal. specstory run cursorcloud launches a cloud agent on your repository and current branch. It opens the agent's page in your browser and watches until you press control C. The agent's opening greeting counts as a paid run.
Slide text
Start a cloud agent from your terminal.
specstory run cursorcloud
Your repository and current branch
The default branch when the current one isn't pushed.
Opens the agent's page in your browser
Set cursorcloud_cmd to pick a browser.
Watches until you press ctrl-c
The opening greeting is a paid run
SpecStory CLIv2.16.0
This release also fixes how resumed sessions are titled. A session resumed into an agent that shows titles used to get a filename slug, like tell me all about, or just Resumed session. Now it's titled with the original session's first prompt, the same title you see in specstory list and SpecStory Cloud.
Slide text
Resumed sessions are titled with their first prompt.
Before
tell-me-all-about
a short filename slug
Resumed session
from Claude Code, Codex CLI, Gemini CLI and Pi
v2.16.0
The original session's first prompt, as in specstory list and SpecStory Cloud.
The release notes list no breaking changes. To start saving cloud agents, set your Cursor API key, sync at least once a day, and keep the cursor cloud folder. A run you don't sync within Cursor's 24 hours keeps its text but loses its tool calls. That's SpecStory CLI 2.16, saving your Cursor Cloud Agent sessions as markdown.
Slide text
After you upgrade, connect Cursor Cloud.
Set CURSOR_API_KEY, or cursor_api_key in your user config
Run specstory sync at least every 24 hours, or keep specstory watch running
Keep .specstory/cursorcloud/ in your project
Install with Homebrew
brew tap specstoryai/tap
brew install specstory
A run synced after Cursor's 24 hours keeps its text and loses its tool calls.