Skip to content

continue_conversation=True starts a new session instead of resuming the previous one #809

@freedehuang-bot

Description

@freedehuang-bot

In the Python Agent SDK, ClaudeAgentOptions(continue_conversation=True) does not resume the previous session after restarting the script.

A new session_id is created on every run, even when:

  • the same script is used
  • the same cwd is used
  • the previous run fully completes and reaches ResultMessage

According to the docs, this option should continue the most recent session in the directory.

Minimal repro

import asyncio
from pathlib import Path
from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

PROJECT_DIR = Path(__file__).resolve().parent

async def main():
    options = ClaudeAgentOptions(
        cwd=str(PROJECT_DIR),
        continue_conversation=True,
    )

    result = None
    async for message in query(
        prompt="Do you remember what we talked about last time?",
        options=options,
    ):
        if isinstance(message, ResultMessage):
            result = message

    print("session_id:", result.session_id)

asyncio.run(main())

Steps
Run the script once
Note the printed session_id
Run it again
The second run gets a different session_id
Expected
The second run should resume the most recent session in the same directory.

Actual
A new session is created each time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions