fix: update chat message API to match current Claude.ai format#137
Merged
Conversation
Owner
|
thanks for your contribution @sgasser 3 checks are failing so please see the linting error. |
jahwag
requested changes
Nov 26, 2025
jahwag
left a comment
Owner
There was a problem hiding this comment.
@sgasser This works well and I will approve it. First, please amend your commits to have a verified signature:
https://docs.github.com/en/enterprise-cloud@latest/authentication/managing-commit-signature-verification/about-commit-signature-verification
Thank you!
The Claude.ai chat completion API has changed its request/response format. This fix adds the minimal required fields to make it work. Changes: - Add required field to completion API request: - rendering_mode: "messages" (critical - without this the API times out) - Ensure attachments and files arrays are present (even if empty) - Update CLI event handler to process new SSE format: - Handle content_block_delta events with text_delta type - Extract text from delta.text field (was event.completion before) - Maintain backward compatibility with old format Root cause: API was timing out because the rendering_mode field was missing. The API would accept connections but never send response events without it. Tested: Successfully creates chats and sends/receives messages with proper streaming responses from Claude.
Extract event processing logic into process_message_event helper function to reduce complexity from 11 to 5, fixing flake8 C901 error.
0b4de00 to
292b204
Compare
Contributor
Author
|
All commits have been signed with GPG. The signature verification should now pass. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Claude.ai chat completion API has changed its request/response format. This fix adds the minimal required fields to make it work.
Changes:
Add required field to completion API request:
Ensure attachments and files arrays are present (even if empty)
Update CLI event handler to process new SSE format:
Root cause: API was timing out because the rendering_mode field was missing. The API would accept connections but never send response events without it.
Tested: Successfully creates chats and sends/receives messages with proper streaming responses from Claude.