Skip to content

[Bug]: ACP session/new returns different session ID than what's persisted to disk #66

@jcfs

Description

@jcfs

What happened?

When using auggie --acp mode, the session/new method returns a session ID that does not match
the session ID persisted to ~/.augment/sessions/.

For example:
• ACP session/new returns: bef591a3-cc2b-4d62-a037-4ea2f8d6a96d
• Session saved to disk as: ~/.augment/sessions/5eba0a8e-e930-4a0a-95c3-cf04c1d4607b.json
• The file ~/.augment/sessions/bef591a3-cc2b-4d62-a037-4ea2f8d6a96d.json does not exist

This makes it impossible for ACP clients to know the correct session ID for resuming sessions
via --resume.

What did you expect to happen?

The session ID returned by session/new should match the session ID persisted to disk, so ACP
clients can use it with --resume for session resumption.

Alternatively, there should be an ACP method (like session/load or session/info) to retrieve or
use the persisted session ID.

Steps to reproduce

  1. Start auggie in ACP mode: auggie --acp

    1. Send initialize request:

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":1,"clientInfo":{"nam
e":"test","version":"1.0"}}}

 3. Send session/new request:

{"jsonrpc":"2.0","id":2,"method":"session/new","params":{"cwd":"/tmp/test","mcpServers":[]}}

 4. Note the returned sessionId (e.g., bef591a3-cc2b-4d62-a037-4ea2f8d6a96d)

 5. Send a prompt and wait for completion:

{"jsonrpc":"2.0","id":3,"method":"session/prompt","params":{"sessionId":"bef591a3-cc2b-4d62-a0
37-4ea2f8d6a96d","prompt":[{"type":"text","text":"Say hello"}]}}

 6. After completion, check ~/.augment/sessions/:

ls ~/.augment/sessions/ | grep bef591a3

Returns nothing - file doesn't exist

ls -lt ~/.augment/sessions/ | head -2

Shows a NEW file with a DIFFERENT session ID was created

 7. Observed: The persisted session file has a different UUID than what ACP returned.

Auggie version

0.14.0

Request ID

N/A - this is reproducible on every ACP session

Environment details

Environment
 • OS: Linux (Ubuntu)
 • Shell: bash
 • Node.js: v23.11.0

Anything else we need to know?

• Attempting to use session/load returns "Method not found", so ACP clients cannot resume
sessions via ACP protocol
• The current workaround requires monitoring the filesystem for new files in
~/.augment/sessions/ to discover the persisted session ID, which is fragile
• Using --resume as a CLI flag does work correctly once you know the
persisted ID

Suggested solutions:
1. Make session/new return the same session ID that will be persisted to disk
2. Include the persisted session ID in the session/prompt response on end_turn
3. Implement session/load method in ACP mode

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions