SpecStory CLI 2.16 saves your Cursor Cloud Agent sessions as markdown

3 hours ago

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.

Ask about this presentation

Chapters

  1. 0:00Cursor Cloud Agents in SpecStory
  2. 0:22Bring your Cursor API key
  3. 0:43Every cloud session becomes a history file
  4. 1:01Full transcripts last 24 hours
  5. 1:20Keep the cursorcloud folder
  6. 1:40Resume into Cursor Cloud, or out of it
  7. 2:02Start a cloud agent from your terminal
  8. 2:19Resumed sessions keep their title
  9. 2:38Turn on Cursor Cloud capture
Show transcript
  1. 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.

    .specstory/history/
    • 2026-10-06_14-24-04Z-you-are-helping-verify.md
    • 2026-10-13_15-06-58Z-small-verification-task-for.md
    • 2026-10-13_15-12-11Z-hello-cursor-cloud-agent.md
    • 2026-10-13_16-30-05Z-verification-task-for-a.md
    SpecStory CLI v2.16.0
  2. 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 CLI v2.16.0
  3. 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.

    2026-10-13_15-06-58Z-small-verification-task-for.md

    <!-- Generated by SpecStory, Markdown v2.1.0 -->

    # 2026-10-13 15:06:59Z

    _**User (2026-10-13 15:06:59Z)**_

    Small verification task for a transcript parser. Do all of the following, then finish with a short summary.

    1. Run: cat README.md …

    ---

    _**Agent (2026-10-13 15:07:00Z)**_

    <think><details><summary>Thought Process</summary>

    The user wants me to perform a series of verification tasks. …

    _**Agent (2026-10-13 15:07:17Z)**_

    <tool-use data-tool-type="shell" …>

    <summary>Tool use: **run_terminal_cmd** `cat README.md`</summary>

    Result:
    # cloud-agent-test

    SpecStory CLI v2.16.0
  4. 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 CLI v2.16.0
  5. 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.

    .specstory/ ├─ history/ └─ cursorcloud/ └─ .gitignore
    .specstory/cursorcloud/.gitignore
    # Raw Cursor Cloud Agent transcripts mirrored by SpecStory; unredacted, so never committed.
    *
    SpecStory CLI v2.16.0
  6. 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 CLI v2.16.0
  7. 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 CLI v2.16.0
  8. 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.
    Cursor CLI Cursor IDE Cursor Cloud Agents VS Code Copilot Droid DeepSeek TUI OpenCode
    SpecStory CLI v2.16.0
  9. 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.
    SpecStory CLI v2.16.0

What happened in AI today, in your inbox

One short email each evening. Read it and you’re caught up.

Built in New York with ❤️