Skip to content

example_apps/claude_agent_sdkrate_limit_event で応答できない(claude-agent-sdk の下限バージョンが古い) #77

Description

@petitroto

サンプルが動かず、微修正したら動作したのでご報告します。
(以下のレポートはClaudeが書きましたが私が目を通しています)

概要

example_apps/claude_agent_sdk のサンプルを起動してロボットに話しかけると、AI の応答テキスト自体は生成されるものの、発話されずに talk_session がクラッシュします。

再現手順

uv run uvicorn example_apps.claude_agent_sdk.app:app.fastapi --host 0.0.0.0 --port 8000

起動後、ロボットに話しかける。

エラーログ

claude_agent_sdk._errors.MessageParseError: Unknown message type: rate_limit_event
  File ".../example_apps/claude_agent_sdk/app.py", line 85, in talk_session
    async for message in client.receive_response():
  File ".../claude_agent_sdk/_internal/message_parser.py", line 180, in parse_message
    raise MessageParseError(f"Unknown message type: {message_type}", data)

AssistantMessage の応答は受信できていますが、その後ストリームに含まれる rate_limit_event を SDK がパースできず、ResultMessage に到達する前に例外となり speak() が呼ばれません。

原因

claude-agent-sdk のバージョン依存です。

  • 0.1.39rate_limit_event 未対応で MessageParseError を送出
  • 0.1.40:未知メッセージを無視(クラッシュ回避)
  • 0.1.49RateLimitEvent として正式対応

リポジトリ内で下限指定が分かれており、

  • example_apps/claude_agent_sdk/pyproject.tomlclaude-agent-sdk>=0.1.56
  • ルート pyproject.tomlexample-claude-agent-sdk グループ … claude-agent-sdk>=0.1.39

リポジトリ直下から uv run するとルート側が使われ、uv.lock0.1.39 に固定されているため、ちょうど未対応の版が入ります。

提案する修正

ルート pyproject.toml の下限をサンプル側と揃え、lock を更新する。

 example-claude-agent-sdk = [
-    "claude-agent-sdk>=0.1.39",
+    "claude-agent-sdk>=0.1.56",
 ]
uv lock --upgrade-package claude-agent-sdk

手元では 0.2.87 に更新し、rate_limit_eventRateLimitEvent としてパースされることを確認済みです。app.py 側の変更は不要でした。

環境

  • claude-agent-sdk: 0.1.39(不具合)→ 0.2.87(修正確認)
  • Claude Code CLI: 2.1.49
  • Python: 3.14

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions